C ++将默认参数更改为派生类中的构造函数

时间:2012-05-29 20:13:56

标签: c++ inheritance

考虑一下Mixer类:

class Mixer{

    int numChannels;

    public: Mixer(int numChannels = 2):numChannels(numChannels){

    }

}

我有一个名为Adder的子类。我希望加法器中的numChannels默认为1.我怎样才能实现这个目标?

3 个答案:

答案 0 :(得分:5)

这样的事情:

class Adder : Mixer
{
public:
    Adder(int numChannels = 1) : Mixer(numChannels){}
};

答案 1 :(得分:4)

更改Adder构造函数中的默认值:

class Adder: public Mixer {
  public:
    Adder(int numChannels = 1): Mixer(numChannels) {}
};

答案 2 :(得分:0)

不要使用默认参数 - 提供一个不带输入的默认构造函数,并将其设置为您想要的默认值。