C++系列之初始化对象&&类对象作为类成员

**前沿:**初始化列表就是构造函数的时候传入形参并对变量赋初值,类对象作为类成员就是创建Phone类,然后再创建Person类,并在Person类中实例化Phone对象。
废话不多说,贴上代码,注意看注释

//*****以下代码的思路就是在Person这个类中调用Phone的类,方法就是可以直接调用,并且相当于实例化Phone的类对象*******//
#include<iostream>
#include<string>
using namespace std;
class Phone
{
public:
	string m_PhoneName; //先定义一个m_PhoneName变量,下面在构造函数中对这个变量赋值操作
	Phone(string name) :m_PhoneName(name)  //Phone的构造函数,直接把name赋值给m_PhoneName,完成初始化操作,这个就是初始化列表
	{
		cout << "Phone的构造函数" << endl;
	}
	~Phone()
	{
		cout << "Phone的析构函数" << endl;
	}
};

class Person
{
public:
	string m_person;
	Phone m_Phone; //在Person的类中创建Phone的类对象,并实例化m_Phone对象,下面传参m_PhoneName会调用Phone的构造函数,完成赋初值操作
	Person(string m_Personname, string m_PhoneName) :m_person(m_Personname), m_Phone(m_PhoneName)  //这个也是初始化列表的操作
	{
		cout << "Person的构造函数" << endl;
	}
	~Person()
	{
		cout << "Person的析构函数" << endl;
	}
	void playgame()
	{
		cout << m_person << "使用" << m_Phone.m_PhoneName << "的手机" << endl;
		//注意:输出的是m_person这个变量,还有m_Phone.m_PhoneName这个是调用Phone类的m_PhoneName的操作,这两个才是string类型
	}
};

void test01()
{
	Person p1("hlc先生", "honor20S");
	p1.playgame();
}

int main()
{
	test01();
	system("pause");
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值