C++类中的成员可以是另一个类的对象,我们称该成员为对象成员
代码如下:
#include <iostream>
using namespace std;
#include <cstring>
//类对象作为类成员
class Phone {
public:
Phone(string PName) {
cout << "Phone函数的调用" << endl;
m_PName = PName;
}
string m_PName;
};
class Person {
public:
//此时的m_Phone(PName)类似于Phone m_phone = pName;隐式转换法。
Person(string name, string PName): m_Name(name), m_Phone(PName) {
cout << "Person函数调用" << endl;
}
string m_Name;
Phone m_Phone;
};
void test01() {
Person p("张三", "苹果MAX");
cout << p.m_Name << "拿着:" << p.m_Phone.m_PName << endl;
}
int main() {
test01();
system("pause");
return 0;
}
结果:
从结果说明:
当其他类对象作为本类成员,构造时候先构造对象,再构造自身。
补充:析构的顺序与构造相反。