1
說我有以下的(C++)如何避免改變每一個孩子的構造函數時,父類的構造變化
class Parent
{
Parent(Foo f){};
}
class Child : public Parent
{
Child(Foo f, Bar b)
: Parent(f)
{};
}
...
// And a whole bunch of other children, all calling Parent constructor
假設現在我需要一個新的參數添加到父類的構造
Parent(Foo f, Baz z){};
然後我將不得不改變每一個孩子類以下
Child(Foo f, Baz z, Bar b)
: Parent(f, z)
{};
是否有反正我c避免不得不改變每一個孩子班級?
猜測可能與此有關, how to avoid repetitive constructor in children 這表明我必須改變每個孩子的課。
如果是這樣,是否有任何語言/設計模式可以使這種變化更輕鬆?
子類是否以任何方式使用新參數?如果沒有,那麼讓父母有兩個構造函數。 –
如果你有這麼多的子類,這實際上是一件苦差事,你應該重新考慮你的設計。 – molbdnilo