我正在尝试完成以下操作:我在一个命名空间中有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
的构造函数,依此类推。
然后将实例存储为私有成员。它甚至可能还是我只是在浪费时间?如果是,你能举一个简短的例子,我应该在头文件和源文件中有什么?
答案 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;
};