参考: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;
};