C++中使用初始化列表方式初始化指針類型成員變量
下面的例子中給出了使用在類中使用初始化列表方式初始化指針類型成員變量的方法:
class Cube
{
private:
????int m_L;
????int m_W;
????int* m_H;
public:
????Cube(int a,int b ,int c) :m_L(a), m_W(b), m_H(new int(c)) {} ?//初始化參數(shù)列表
????Cube(const Cube &c)? ? //拷貝構(gòu)造函數(shù)
????{
????????????m_L = c.m_L;
????????????m_W = c.m_W;
????????????m_H = new int(*c.m_H);? ? ? //對指針類型成員變量進行深拷貝
????}
????~Cube()? ? ?//析構(gòu)函數(shù)也沒有返回值,不可有參數(shù)
????{
????????????if (m_H != NULL)? ? ? //釋放堆區(qū)內(nèi)存
????????????{
????????????????????delete m_H;
????????????????????m_H = NULL;
????????????}
????}
};
標(biāo)簽: