您的位置:首页 > 编程语言 > C语言/C++

C++ primer第五版_类

2014-08-16 18:57 162 查看
0、常量对象,以及常量对象的引用或指针只能调用常量成员函数

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

2、IO类属于不能被拷贝的类型,读取或写入的操作会改变流的内容,所以IO类以普通引用做参数

3、拷贝构造函数的调用:初始化变量、以值的方式传参、返回一个对象

4、使用struct关键字,则定义在第一个访问说明符之前的成员是public的;使用class关键字则为private

5、最好在类定义开始或结束前的位置集中声明友元

6、友元的声明仅仅指定了访问的权限,而非一个通常意义上的函数声明

7、一个const成员函数可以改变一个mutable成员的值

8、const成员函数如果以引用的形式返回*this,那么它的返回类型将是常量引用,非常量对象和常量对象都可以调用常量成员函数,如果是常量对象在调用,那只能返回常量引用

9、可以通过参数的底层const来重载函数。void test(char *p); void test(const char *p);

10、可以通过成员函数是否为const来重载函数,因为常量对象只能调用const成员函数

11、前向(前置)声明的作用:可以定义指向这种类型的指针或引用

12、一旦一个类的名字出现后,它就被认为是声明过了,因此类允许包含指向它自身类型的指针或引用

13、成员函数定义在类的外部时,返回类型中使用的名字都位于类的作用域之外

14、如果类的成员使用了外层作用域中的某种自定义类型,则类不能在之后重新定义该名字

15、类的const成员或引用成员,必须通过构造函数初始值列表初始化

16、成员变量的初始化顺序与他们在类定义中的出现顺序一致

17、如果一个构造函数为所有参数都提供了默认实参,则它实际上也定义了默认构造函数

18、只允许一步类类型转换

19、关键字explicit只对一个类类型实参的构造函数有效

20、聚合类(struct):所有成员都为public,没有构造函数,没有类内初始值、没有基类

21、类的静态成员存在于任何对象之外,对象中不包含任何与静态数据成员有关的数据

22、静态成员函数不与任何对象绑定在一起,他们不包含this指针

23、虽然静态成员不属于类的某个对象,但类的对象、指针或者引用都可以访问静态成员

24、静态成员可以是不完全类型。class A {static A a;}

25、静态成员可以作为成员函数的默认实参
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: