首页 > 代码库 > C++初始化数据成员

C++初始化数据成员

在C++初始化类的成员数据有两种方式
1. 在构造函数中实现

2. 定义初始化成员列表来初始化成员数据

class point{  private:  int x,y;  public:  point(int m,int n)  {      x=m;      y=n;   }              };class point{  private:  int x,y;  public:  point(int m=0,int n=0):x(m),y(n){}};

这两种初始化成员数据方式有差别,用构造函数初始化成员数据其实就是用赋值来实现,用初始化成员列表则只是直接对数据成员进行初始化。具体在以下三种情况下使用初始化成员列表

1. 需要初始化的数据成员是对象

  如果需要初始化的数据成员是对象,则如果用构造函数初始化,则要调用该类的拷贝构造函数,产生临时对象,如果直接对该需要初始化的对象进行初始化,则会带来性能上的优异。

2. 需要初始化const修饰的数据成员

  const修饰的变量是不能进行赋值操作的,因此只能直接初始化

3. 需要初始化引用成员数据

  引用类型同const修饰的数据成员,也是只能进行初始化。

C++初始化数据成员