类对象作为类成员---------类和对象 c++


前言

当一个类的成员是另一个类的对象时, 称该成员为对象成员。
eg:
class A { }
class B
{
A a;
}
A类是B类的成员对象
(又是一个熟悉的套娃,变成的本质就是一层一层套娃)


当A类是B类的成员对象时,谁先构造和解析

代码如下(示例):

#include<bits/stdc++.h>
using namespace std;
class car
{
	public:
		car(string name)
		{
			carname=name;
			cout<<"car构造"<<endl;
		}
			string carname;//输入车的名字 
	~car()
	{
		cout<<"car析构函数调用"<<endl;
	}
		
};
class person
{
	public:
		
//		person(string a)
//		{
//			name=a;     //输入名字 
//		}
		//person构造函数调用 
		person(string b,string c):name(b),namecar(c)//原理   隐式转换法  string namecar=c 
		{
				cout<<"person 构造函数调用"<<endl;
		}
		car namecar;    //car是person的对象成员 
		string name;
		~person()
{
	cout<<"person析构函数调用"<<endl; 
}
void test2()
{
		cout<<name<<"    "<<namecar.carname<<endl;//用  namecar调用carname 
}
};

void test()
{
	person p1("afana","劳斯莱斯");
	p1.test2();

}
int main()
{
	test();
	return 0;
}


总结

先构造对象成员的构造函数,
最后调用对象成员的析构函数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值