C++构造和析构执行顺序
2018-01-04 09:12
197 查看
结论:
构造顺序 :基类=》成员数据=>派生类析构顺序 :派生类=》成员=》基类
测试代码
class base
{
public:
base(const string& theInfo):
info(theInfo)
{
cout << "base的默认构造函数" << endl;
}
~base()
{
cout << "base 的析构函数" <<endl;
}
private:
string info;
};
class member
{
public:
member()
{
cout << "成员函数的构造" <<endl;
}
~member()
{
cout << "成员的析构函数" <<endl;
}
};
class derived:public base
{
public:
~derived()
{
cout << "derived的构造函数" << endl;
}
derived(const string& theDInfo):
dInfo(theDInfo),
base(theDInfo),
mem()
{
cout << "derived的构造函数" << endl;
}
private:
member mem;
string dInfo;
};
相关文章推荐
- C++ 构造与析构的执行顺序
- 类-构造与析构执行顺序详解
- 继承与包含中构造与析构的执行顺序
- 子类构造和析构被执行时是否调用父类以及调用顺序
- [C++]多个对象构造、析构、构造和析构的顺序
- C++ - 派生类(derived class) 的 构造(construct) 和 析构(destruct)顺序 详解
- C++ 构造、析构的顺序
- C++继承体系下构造的执行顺序
- C++ - 派生类(derived class) 的 构造(construct) 和 析构(destruct)顺序 详解
- [C++]搞清楚类中构造与析构的顺序
- 揭示C++中全局类变量的构造与析构顺序 推荐
- C++ 构造,析构顺序(静态对象)
- c++子类对象构造与析构的顺序对多态性的影响
- C++学习笔记:3.3.4 继承和组合混搭情况下,构造和析构调用顺序
- C++构造和析构顺序
- C++程序:C++ 构造、析构的顺序
- c++对象成员变量的构造和析构顺序
- c++ 嵌套new操作构造对像的执行顺序
- 揭示C++中全局类变量的构造与析构顺序
- C++子类构造和析构被时,父类构造和析构的调用顺序