参数初始化表

来源:互联网 发布:硬盘检测软件 编辑:程序博客网 时间:2024/04/30 11:59
  1. 成员初始化表的作用如下:

成员初始化表用在类的构造函数中,对类的数据成员等初始化。其实它的作用还不仅如此。

  • 对类的数据成员初始化例如:

class A

{

public:

A(int a,int b): x(a),y(b){}//这就是成员初始化表

......

private:

int x;

int y;

};

  • 如果类A由类B派生出来,那么类A的构造函数可以对类B的数据成员初始化,这是要把B的构造函数列在成员初始化表中。

class B

{

public:

B(int c){z=c;}

......

private:

int z;

};

 

class A:public B
{

public:

A(int c,int a,int b): B(c),x(a),y(b){}//这就是成员初始化表

......

private:

int x;

int y;

};

  • 如果类A中含有类C的对象,那么可以在类A的构造函数中对类C的对象初始化。这时要把对象列在初始化表中,而不是把C的构造函数。

class C

{

public:

C(int c){z=c;}

......

private:

int z;

};

 

class A

{

public:

A(int c,int a,int b): cc(c),x(a),y(b){}//这就是成员初始化表

......

private:

int x;

int y;

C cc;//C与A具有组合关系,这里cc是子对象。

};

  • ps:参数初始化表先对基类初始化,再对子对象初始化,最后对自己的数据成员初始化。

2.参数初始化表的一般形式

类名(参数列表):基类名(参数列表),子对象名(参数列表),数据成员名(参数){}