#include <cstdlib>
#include <iostream>
using namespace std;
/*
1、父类的属性,应该有父类的构造函数去初始化
2子类新增加的属性,应该有子类的构造函数完成;
==父子分工,很明确
*/
//在子类对象构造的时,需要调用父类构造函数对其继承得来的成员进行初始化
//在子类对象析构的时,需要调用父类析构函数对其继承得来的成员进行清理
class object
{
public:
object(char* c)
{
cout<<"object ok"<<endl;
}
~object()
{
cout<<"~object"<<endl;
}
};
class Parent04: public object
{
public:
Parent04(char* s):object(s)
{
cout<<"Parent04()"<<" "<<s<<endl;
}
~Parent04()
{
cout<<"~Parent04()"<<endl;
}
};
class Child04 : public Parent04
{
public:
Child04() : Parent04("Parameter from Child!"),o2("a"),o1("b")
{
cout<<"Child04()"<<endl;
}
~Child04()
{
cout<<"~Child04()"<<endl;
}
private:
object o1;
object o2;
};
void run04()
{
Child04 child;
}
int main(int argc, char *argv[])
{
run04();
system("pause");
return 0;
}
C++解析和初始化
最新推荐文章于 2023-12-23 20:15:39 发布