继承中的构造和析构
- 如何初始化父类成员?父类与子类的构造函数有什么关系?
- 子类对象构造时, 调用父类构造函数对其成员初始化
- 子类对象析构时, 调用父类析构函数对 继承的成员进行清理
- 调用顺序原则–>
- 小结
- 子类对象可以当做父类对象使用
- 子类对象可以直接赋值给父类对象
- 子类对象可以直接初始化父类对象
- 父类指针可以直接指向子类对象
- 父类引用可以直接引用子类对象
- 案例
class Parent
{
public:
Parent(int a, int b)
{
this->a = a;
this->b = b;
cout << "父类构造函数" << endl;
}
~Parent()
{
cout << "父类析构函数" << endl;
}
private:
int a; int b;
};
class Child :public Parent
{
public:
Child(int a, int b, int c) :Parent(a,b)
{
this->c = c;
cout << "子类构造函数" << endl;
}
~Child()
{
cout << "子类析构函数" << endl;
}
private:
int c;
};
void playovj()
{
Child c1(1,2,3);
}
void main()
{
playobj();
system("pause");
}