Multiple inheritance with one base class

前端 未结 2 626
感动是毒
感动是毒 2020-12-07 06:01

(Removed original text as it is unrelated to the current question which has already been answered. See revisions.)

Here is my example test.hpp (simplifi

2条回答
  •  孤街浪徒
    2020-12-07 06:34

    Replace

    PaintedOccupiedHouse::PaintedOccupiedHouse(int nWindows, int colorCode, int nPeople)
                : PaintedHouse(nWindows, colorCode), OccupiedHouse(nWindows, nPeople) {}
    

    by

    PaintedOccupiedHouse::PaintedOccupiedHouse(int nWindows, int colorCode, int nPeople)
                : House(nWindows), PaintedHouse(nWindows, colorCode), OccupiedHouse(nWindows, nPeople) {}
    

    When you have virtual inheritance, there is only one instance of the virtual base class. It must be initialized in the constructor of the most derived class being constructed.

提交回复
热议问题