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

C++ change default argument to constructor in derived class

本文关键字:构造函数 参数 默认 派生 C++      更新时间:2023-10-16

考虑类 Mixer:

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

我有一个名为 Adder 的子类。我希望加法器中数字通道的默认值为 1。我怎样才能做到这一点?

像这样:

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

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

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

不要使用默认参数 - 提供一个默认构造函数,该构造函数不接受任何输入并将其设置为所需的默认值。