参数初始化表

    技术2022-05-12  10

    成员初始化表的作用如下:

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

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

    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.参数初始化表的一般形式

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


    最新回复(0)