类对象作为类成员

当其他类对象作为本类中的成员时:

  • 构造的顺序是:先调用其他类的构造,再调用本类的构造。
  • 析构的顺序是:和构造的顺序是相反的。

 成员的构造先后顺序是根据在类中的顺序决定的,跟构造方法中的初始化顺序无关。

//手机类
class Phone
{
public:
	string Phone_Name;

	Phone()
	{
		cout << "Phone 的无参构造函数调用" << endl;
	}

	Phone(string Pname)
	{
		cout << "Phone 的有参构造函数调用" << endl;
		Phone_Name = Pname;
	}

	~Phone()
	{
		cout << "Phone 的析构函数调用" << endl;
	}
};

//游戏类
class Game
{
public:
	string Game_Name;

	Game()
	{
		cout << "Game 的无参构造函数调用" << endl;
	}

	Game(string Gname)
	{
		cout << "Game 的有参构造函数调用" << endl;
		string Game_Name = Gname;
	}

	~Game()
	{
		cout << "Game 的析构函数调用" << endl;
	}
};

class People
{
public:
	string m_Name;//姓名

	Game Game_Name;//游戏
	Phone Phone_Name;//手机

	People()
	{
		cout << "People 的无参构造函数调用" << endl;
	}

	People(string name, string Gname, string Pname) :m_Name(name), Game_Name(Gname), Phone_Name(Pname)
	{
		cout << "People 的有参构造函数调用" << endl;
	}

	~People()
	{
		cout << "People 的析构函数调用" << endl;
	}
};

void test()
{
	People p1("Jerry", "Xiaomi", "GTA");
}

 输出结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值