偷偷拿来记录一下萌新的cs路——day 24
#include#include using namespace std; class Phone { public: Phone(string pName) { cout << "Phone的构造函数调用" << endl; m_PName = pName; } ~Phone() { cout << "Phone的析构函数调用" << endl; } string m_PName; }; class Person { public: // Phone m_Phone = pName 隐式转换法 Person(string name, string pName):m_Name(name),m_Phone(pName) { cout << "Person的构造函数调用" << endl; } ~Person() { cout << "Person的析构函数调用" << endl; } string m_Name; Phone m_Phone; }; void test01() { Person p("Ge", "iPhone13 pro"); cout << p.m_Name << ": " << p.m_Phone.m_PName << endl; } int main() { test01(); return 0; }
以上代码中,类Phone作为类Person的成员。个人将其理解为文件夹的创建,在“Person”文件夹创建各种人,再在各种人的文件夹下创建“Phone”文件夹,其中可有多种型号的手机。
运行结果:
由运行结果可得出结论:当类B作为类A成员,运行程序将先构造B,再构造A;先析构A,再析构B。
以后学了更多知识还会回来更新的!有误之处恳请大佬指正,提前感谢!



