c++ 类的实例化顺序
其他类对象有作为本类成员,先构造类中的其他类对象,
释放先执行本对象的析构函数再执行包含的类对象的析构函数
#include <iostream>
#include <string.h>
using namespace std;class Phone
{
public:Phone(string name):m_PName(name){//m_PName = name;cout << "Phone的有参构造函数" << endl;}~Phone(){cout << "Phone的析构函数" << endl;}string m_PName;
};class Persion
{
public:Persion(string name, string pName) :m_Name(name), m_Phone(pName){cout << "Persion的有参构造函数" << endl;}~Persion(){cout << "Persion的析构函数" << endl;}string m_Name;Phone m_Phone;};
void main()
{//其他类对象有作为本类成员,先构造类中的其他类对象,//释放先执行本对象的析构函数再执行包含的类对象的析构函数Persion p1("WQ","华为");cout << p1.m_Name << "使用的手机品牌是:" << p1.m_Phone.m_PName << endl;}