c++笔记(3.30)
2016-03-31 00:32
211 查看
1. 类内部定义的函数默认为inline。
2. double avg_price()
const 不能改变所操作对象的数据成员,数据成员此时是只读类型。
3. pair是具体类类型,vector是抽象类型。
4. 数据抽象和封装的优点:
a. 避免类内部可能会出现的,对对象状态破坏的用户级错误。
b. 修改方便,只需修改类实现代码,不要修改用户级代码。
5. 声明一个类,并没有被定义。 class Screen;
6. 习题12.11?
7. 在非const成员函数中,this是一个指向类类型的const指针,可以改变里面的值,但不能改变指向地址。在const成员函数中,既不能改变值,也不能改变其地址,返回的指针只能是const引用。
8. 基于const的重载?
9. 可变数据成员,在const函数中也可变,采用关键字,mutable。
10. 查找作用域的名字,只会在作用域之前的声明之前的声明中查找。
是否只是对类型是这样?
11. 全局作用域反正加上 :: ,解决覆盖的问题。
12. 用于const对象的构造函数。
13. 引用类型,const修饰的数据类型,用构造函数初始化列表来进行初始化。
14. Sale_item(std:istream &is); 使用默认实参。
习题12.25 P391 习题12.26
15. 没有默认构造函数,NoDefault类型不能用作动态分配数组的元素类型。
16. 当构造函数被声明为explicit时,编译器不能使用它作为转换操作符(隐式转换)
17. 习题12.31 P396
18. 友元可以是普通的非成员函数,或前面定义的其他类的成员函数,或者整个类。
19. static成员函数没有this形参,可以直接访问所属类的static数据成员,但是不能使用非static成员,不能声明为const,也不能为虚函数。
20. static的数据成员,可以让所有的类共享, 不能在类定义体中初始化,但是整型const static可以。
2. double avg_price()
const 不能改变所操作对象的数据成员,数据成员此时是只读类型。
3. pair是具体类类型,vector是抽象类型。
4. 数据抽象和封装的优点:
a. 避免类内部可能会出现的,对对象状态破坏的用户级错误。
b. 修改方便,只需修改类实现代码,不要修改用户级代码。
5. 声明一个类,并没有被定义。 class Screen;
6. 习题12.11?
7. 在非const成员函数中,this是一个指向类类型的const指针,可以改变里面的值,但不能改变指向地址。在const成员函数中,既不能改变值,也不能改变其地址,返回的指针只能是const引用。
8. 基于const的重载?
9. 可变数据成员,在const函数中也可变,采用关键字,mutable。
10. 查找作用域的名字,只会在作用域之前的声明之前的声明中查找。
是否只是对类型是这样?
11. 全局作用域反正加上 :: ,解决覆盖的问题。
12. 用于const对象的构造函数。
13. 引用类型,const修饰的数据类型,用构造函数初始化列表来进行初始化。
14. Sale_item(std:istream &is); 使用默认实参。
习题12.25 P391 习题12.26
15. 没有默认构造函数,NoDefault类型不能用作动态分配数组的元素类型。
16. 当构造函数被声明为explicit时,编译器不能使用它作为转换操作符(隐式转换)
17. 习题12.31 P396
18. 友元可以是普通的非成员函数,或前面定义的其他类的成员函数,或者整个类。
19. static成员函数没有this形参,可以直接访问所属类的static数据成员,但是不能使用非static成员,不能声明为const,也不能为虚函数。
20. static的数据成员,可以让所有的类共享, 不能在类定义体中初始化,但是整型const static可以。