C ++调用多个构造函数

时间:2014-09-18 18:19:25

标签: c++ constructor

我正在尝试完成以下操作:我在一个命名空间中有4个类(允许调用一个主类,其他3个辅助类),我想将辅助类的实例存储为primary的私有成员,要做我需要从secondary&#39}调用primary构造函数,然后存储实例。但不幸的是我并不完全理解如何做到这一点(对c ++没有经验):这就是我在头文件中的内容:

    class secondary_one
    {
    private:
        int number1;
    public:
        secondary_one(int);
        int get_number1() const;
    };

    class secondary_two
    {
    private:
        int number2;
    public:
        secondary_two(int);
        int get_number2() const;
    };

    class secondary_three
    {
    private:
        int number3;
    public:
        secondary_three(int);
        int get_number3() const;
    };

' primary'上课是:

class primary
{
private:
    secondary_one one;
    secondary_two two;
    secondary_three three;
public:
    primary(int,int,int);
};

在调用primary构造函数时,我希望将第一个参数发送到secondary_one的构造函数,将第二个参数发送到secondary_two的构造函数,依此类推。 然后将实例存储为私有成员。它甚至可能还是我只是在浪费时间?如果是,你能举一个简短的例子,我应该在头文件和源文件中有什么?

1 个答案:

答案 0 :(得分:4)

使用构造函数初始化列表:

class primary
{
public:
  primary(int a, int b, int c) : one(a), two(b), three(c) {}
private:
    secondary_one one;
    secondary_two two;
    secondary_three three;
};