1.构造一个派生类包括下面3部分工作:
a.派生类把基类全部成员接收过来。
b.可以改变基类成员在派生类中的访问属性。
c.在派生类增加成员。
2.派生类成员访问属性
a.公用继承:
class Student1:public Student
注意public关键词
基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有。
b.私有继承
基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有。
c.受保护的继承
基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。
3.有子对象派生的,执行派生类构造函数的顺序:
a.调用基类构造函数,对基类数据成员初始化。
b.调用子对象构造函数,对子对象数据成员初始化。
c.再执行派生类构造函数本身,对派生类数据成员初始化。
派生类构造函数的总参数列表中的参数,应当包括基类构造函数和子对象参数列表中的函数。基类构造函数和子对象的次序可以是任意的。
Student1(int n,string nam,int n1,string nam1,int a ,string ad):monitor(n1,m1),Student(n,nam)
Student1(int n,string nam,int n1,string nam1,int a ,string ad):Student(n,nam),monitor(n1,m1) { age=a; addr=ad; }
4.多层派生时的构造函数
5.c++提供虚基类的方法,使得在继承间接共同基类时只保留一份成员。
class A {}; class B:virtual public A {}; class C:virtual pubic A {};
注意:虚基类并不是在声明基类时声明的,而是在声明派生类时,指定继承方式时声明的。因为一个基类可以在生成一个派生类时作为虚基类,而在生成另一个派生类时不作为虚基类。
这与systemverilog是不同的哦
6.基类与派生类的转换