类对象作为类成员
- 1、当类中成员是其它类对象时,我们称该成员为:对象成员。
- 2、构造的顺序是:先调用对象成员的构造,再调用本类构造。(本例中先调用phone的构造,再调用person的构造)
- 3、析构顺序与构造相反。(本例中先调用person的析构,再调用phone的析构)
#include <iostream>
#include <string>
using namespace std;
class phone{
public:
phone(string pname){
cout << "phone 的构造函数的调用" << endl;
m_name = pname;
}
~phone(){
cout << "phone 的析构函数的调用" << endl;
}
string m_name;
};
class person{
public:
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 test()
{
person p("张三","appleMAX");
cout << p.m_name << " 拿着 " << p.m_phone.m_name << endl;
}
int main(void)
{
test();
return 0;
}