1.解释:c++类中的成员可以是另一个类的对象,我们称该成员为对象成员
2.当其他类对象作为本类的成员的时候:构造的时候先构造类对象,再构造自身,析构的顺序相反。
#include<iostream>
using namespace std;
#include<string>
//类对象作为类成员
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 test1()
{
Person p("小明","iPhone");
cout << p.m_name << "拿着" << p.m_phone.m_pname << endl;
}
int main()
{
test1();
system("pause");
return 0;
}