c++类的嵌套,即一个类中含有另一个类的对象

下面给出两个案例:自己体会
案例一:定义一个人,人拿着某牌子的手机,手机号为…

#include <iostream>
#include<string>
using namespace std;
class phone {
public:
	string m_ph_name;
	string m_ph_num;
	phone(string phone_name, string phone_num):m_ph_num(phone_num), m_ph_name(phone_name){
		cout << "phone的构造函数被调用" << endl;
	}
	~phone() {
		cout << "phone的析构函数被调用" << endl;
	}

};
class person {
public:
	string per_name;
	phone sname;
	//千万要注意对那个类构造出来的对象一定要使用初始化列表把所有的数据成员都初始化了。
	person(string name1, string name2,string name3) :per_name(name1), sname(name2,name3) {
		cout << "person的构造函数被调用" << endl;
	}
	~person() {
		cout << "person的析构函数被调用" << endl;
	}

};
int main() {
	person p("张瑞强", "华为","18732097363");
	cout <<"人的名字:"<< p.per_name << endl;
	cout <<"手机的名字:"<< p.sname.m_ph_name << endl;
	cout << "手机号为:"<<p.sname.m_ph_num << endl;
}

在这里插入图片描述

案例二:
定义一个三角形类求面积,再定义一个三角锥类求体积。

#include <iostream>
using namespace std;
//定义一个三角形的类 
class sjx{
    public:
	int a,b;
	sjx(int a1,int b1):a(a1),b(b1){}
	//求三角形的面积,只搞原理,公式正误先忽略 
	int disp(){
		return a*b;
	}
};
//定义一个三角锥的类 
class sjz{
	public:
	int height;
	sjx s;
	//初始化自己的数据成员,也初始化那个类的数据成员 
	sjz(int a1,int b1,int c1):height(a1),s(b1,c1){
	}
	//求三角锥的体积,只搞原理,忽略公式正误。 
	int display(){
		return height*s.disp();
	}
};
int main(){
	sjz z(1,2,3);
	cout<<z.display();
}

在这里插入图片描述

  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ad_m1n

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值