7类

作者: 龟龟51 | 来源:发表于2017-10-26 10:34 被阅读0次

    7类

    This是一个常量的指针,把const关键字放在成员函数的参数列表之后,此时,紧跟在参数列表之后const表示this是一个指向常量的指针。

    如果非成员函数是类接口的组成部分,则这些函数的声明应该与类在同一个文件夹内。

    构造函数的名字与类名相同,和其他函数不一样的是,构造函数没有返回类型,除此之外类似于其他的函数,构造函数也有一个(可能为空的)参数列表和一个(可能为空的)函数体。

    编译器会合成默认的拷贝、赋值和析构函数。

    访问说明符:public private

    Class在访问说明符定义之前的成员为private的,struct则是public。

    友元:其他类或者函数访问它的非公有成员。前加friend。

    友元的声明仅仅指定了访问的权限,不是一个通常意义上的函数声明。类的用户还要在友元声明之外在对函数进行声明。

    7.3类的其他特性

    可变数据成员,通过mutable关键字,可以修改类的某个数据成员,甚至是const成员函数。

    友元函数能定义在类的内部,这样的函数是隐式内联的。

    不完全类型,只声明无定义的类。

    友元在类内部定义,外部也必须进行声明,类的用户才能使用。

    编译器处理完类中的全部声明后才会处理成员函数的定义。

    类型名要特殊处理,类外面用typedef定义一种数据类型,类的内部不能在定义这个名字了。

    函数名字查找

    先在成员函数内->类->类外面

    构造函数初始值列表

    类内成员是const或者是引用的话,必须将其初始化,类似的,当成员属于某种类类型且该类没有定义默认构造函数时,也必须将这个成员初始化。

    如果类内一个成员是用另一个成员初始化的,这个两个成员的初始化顺序很关键。

    委托构造函数

    默认构造函数的作用

    警惕这种错误


    隐式的类类型转换

    Explicit抑制隐式转换,只能显示调用。

    7.5.5聚合类

    7.5.6字面值常量类

    7.6类的静态成员

    静态数据成员的类型可以是常量、引用、指针、类类型。

    静态成员函数也不与任何对象绑定在一起,它们不包含this指针。静态成员函数不能声明成const的,也不能在static函数体内用this指针。

    成员函数不用通过作用域运算符就能直接使用静态成员;

    相关文章

      网友评论

          本文标题:7类

          本文链接:https://www.haomeiwen.com/subject/vuvhpxtx.html