1、一个狗只能属于一个主人,一个主人可以有多条狗。
//狗类设一个主人类的对象指针,主人类设一个狗类的对象指针数组
class Master;//Master必须提前声明
class Dog {
Master *p;
};
class Master {
Dog *dog[10];
};
2、派生类的成员函数可以访问当前对象的基类的保护成员
3、派生类的构造函数里如何初始化从基类继承而来的私有成员变量?
通过初始化列表的办法,直接初始化派生类对象里所包含的基类对象,
如,derivered::deriverd(arg_derived-list):base(arg_base-list){
}
//隐式方式:在派生类的构造函数里省略基类的构造函数时,派生类的构造函数自动调用基类的默认构造函数
4、在创建派生类的对象时,需要调用基类的构造函数:初始化派生类对象中从基类继承的成员。在执行派生类的构造函数之前,总是先执行从基类的构造函数。
5、调用基类构造函数有2种:
//—显示方式:在派生类的构造函数里,为基类的构造函数提供参数
//derivered::deriverd(arg_derived-list):base(arg_base-list)
//隐式方式:在派生类的构造函数里省略基类的构造函数时,派生类的构造函数自动调用基类的默认构造函数
6、创建派生类对象时:
//-先执行基类的构造函数,用于初始化派生类对象中从基类继承的成员
//-再执行成员对象类中的构造函数,用于初始化派生类对象中成员对象
//-最后执行派生类自己的构造函数
7、