c++初始化列表和直接赋值的区别

参考:https://blog.csdn.net/weixin_42332134/article/details/81635386

关于C++中对象的初始化采用构造函数进行,在构造函数中包含了对象成员变量的初始化和赋值两项操作,如下面代码中的

CBox的初始化函数,其中m_FaceNm 为常量,m_strName 为引用,对于常量只有初始化操作,没有赋值,引用也是在创建

时必须进行初始化。

#include <iostream>
#include <string>

std::string g_strBoxName = "ONE BOX";

class CBox
{
public:
	CBox(int Height, int width, int Length)
	:m_FaceNm(6)
	,m_strName(g_strBoxName)
	{
		m_viHeight = Height;
	    m_viWidth = width;
	    m_viLength = Length;
	}

	virtual ~CBox();

	int getVolume(){return m_viHeight*m_viWidth*m_viLength; }
	
private:
	int m_viHeight;
	int m_viWidth;
	int m_viLength;
	const int m_FaceNm;
	std::string & m_strName;
};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值