当其它类的对象作为我本类中的成员的时候那么我创建本类对象时他会先构造成员中类的对象最后在构建本类的对象。
析构对象的顺序是相反的。
c++类中的成员可以是另一个类的对象,我们称该成员为 对象成员。
例如:
class A{}
class B
{
A a;
}
B类中有对象A作为成员,A为对象成员
那么当创建B对象时,A与B的构造函数的顺序是谁先谁后呢?
代码:
#include
using namespace std;
#include
class phone
{
public:
phone(string Name)
{
name=Name;
cout<<”phone构造函数的调用”<<endl;
}
~phone()
{
cout<<”phone析构函数的调用。”<<endl;
}
string name;
};
class Preson
{
public:
//隐式转换法。
Preson(string m_name,string Name1):n_name(m_name),name1(Name1)
{
cout<<”Preson构造函数的调用”<<endl;
}
~Preson()
{
cout<<”Preson析构函数的调用。”<<endl;
}
string n_name;
phone name1;
void show()
{
cout<<n_name<<”拿着 :”<<name1.name<<”品牌的手机。”<<endl;
}
};
void test()
{
Preson A(“张三”,”华为”);
A.show();
}
int main()
{
test();
return 0;
}
结果: