其他类对象有作为本类成员,先构造类中的其他类对象,
释放先执行本对象的析构函数再执行包含的类对象的析构函数
- #include
- #include
- 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;
-
-
- }