栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

初始化列表

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初始化列表

作用:C++提供了初始化列表语法,用来初始化属性。
语法:构造函数():属性1(值1),属性2(值2)....{}

#include 
using namespace std;

//初始化列表
//语法:构造函数():属性1(值1),属性2(值2)....{}

class Person{
public:
	

	

	Person():m_A(10),m_B(30),m_C(20){}

	int m_A;
	int m_B;
	int m_C;
};

int main(int argc,char *argv[])
{
	//Person p1(10,30,20);
	Person p1;

	cout << "m_A = " << p1.m_A << endl;
	cout << "m_B = " << p1.m_B << endl;
	cout << "m_C = " << p1.m_C << endl;

	return 0;
}

类对象作为类成员。
C++中类中成员可以是另外一个类的对象,我们称该成员为对象成员。
例如:
class A{

};

class B{
    A a;   //对象成员
};

当其他类的对象作为本类的成员,构造时先构造对象,再构造自身,析构的顺序与构造相反。

#include 
using namespace std;

//类对象作为类成员

//手机类
class Phone{
public:
	Phone(string name)
	{
		m_PName = name;
		cout << "Phone的有参构造函数的调用" << endl;
	}

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

	string m_PName;  //手机品牌的名称
};

//人类
class Person{
public:
	Person(string name,string p_Name):m_Name(name),m_Phone(p_Name)
	{
		cout << "Person的有参构造函数的调用" << endl;
	}

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


	string m_Name;  //姓名
	Phone m_Phone;   //手机品牌名称   对象成员
};

int main(int argc,char *argv[])
{
	Person p("张三","小米");
	cout << p.m_Name << "拿着" << p.m_Phone.m_PName << endl;

	//当其他类的对象作为本类的成员,构造时先构造对象,再构造自身,析构的顺序与构造相反。

	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768945.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号