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)) {} //初始化参数列表
Cube(const Cube &c) //拷贝构造函数
{
m_L = c.m_L;
m_W = c.m_W;
m_H = new int(*c.m_H); //对指针类型成员变量进行深拷贝
}
~Cube() //析构函数也没有返回值,不可有参数
{
if (m_H != NULL) //释放堆区内存
{
delete m_H;
m_H = NULL;
}
}
};