一、
1.当对象A是对象B的特例时,我们称对象A继承对象B。
2.在参数列表构造类的成员属性,跟属性构建的顺序有关,若调动构造函数,按类中设计属性的顺序初始化。
下图会先构建value,再构建num
3.隐式转换:除了构建对象,初始化对象,构造函数第三个任务:类型转换。(但必须构造函数只有一个参数object(int x = 0)或者其他参数有默认值)
若加了explicit就消除了类型转换能力,只能显式转换,不能隐式转换。
因此,①内置类型给自己设计的类型赋值,可以完成。
②以类型创建的对象对内置类型赋值,强转
x = (int) obj; // x =obj. operator int() x = operator int( &obj)
二、包含关系
1.包含:当对象A是对象B的属性时,称对象B包含对象A。
当一个对象a作为另一个对象b的成员属性时,构建顺序,先构建a,再构建b,先析构b,再析构a
2.对于类的成员,尽可能拿列表方式进行初始化。只有拷贝构造和构造能使用列表方案(列表方案是来构建对象的ÿ