#include<iostream>
#include<string>
using namespace std;
class peron{
public:
peron(string person){
cout << "peron调用构造函数" << endl;
tperson = person;
}
~peron(){
cout << "peron调用析构函数" << endl;
}
//手机品牌名称
string tperson;
};
class person{
public:
person(string m_name, string peron) :m_name(m_name), m_p(peron){
cout << "person调用构造函数" << endl;
}
~person(){
cout << "person调用析构函数" << endl;
}
//姓名
string m_name;
//电话
peron m_p;
};
void test(){
person p("张三", "华为");
cout << "姓名为:" << p.m_name << endl;
cout << "电话名称为:" << p.m_p.tperson << endl;
}
int main(){
test();
system("pause");
return 0;
}
代码运行结果
由此可知在
构造函数:当其他类作为本类成员,构造时先构造其他类对象,在构造本类对象。
析构函数顺序与构造函数恰恰相反 先构造本类对象在调用其他类对象。