Код должен быть следующим:
Код: Выделить всё
class ThreeRoom: public OneRoom
{
public:
ThreeRoom() : OneRoom() { count_room = 3; }
ThreeRoom(double sqr, int flr, double sqr_kitchen) : OneRoom(sqr, flr, sqr_kitchen) { count_room = 3; }
};
Код: Выделить всё
ThreeRoom() : OneRoom(){ count_room = 3; }
Кстати, этот подход неправильный. Поле count_room должно инициализироваться посредством конструктора того класса, в котором оно расположено, а в классе-наследнике должен вызываться конструктор. Прямое последование не только криво, так как нарушает принципы инкапсуляции, но ещё и не возможно, например в том случае, если поле count_room является private.
Помимо этих заметок я бы наделал ещё кучу замечаний, но они уже касаются не класса TreeRoom. Например в классе OneRoom есть метод SetRoomCount, причём, внимание, для не проставлен идентификатор const. Если этот метод действительно меняет поля класса (а его имя это подразумевает), то такой код просто не скомпилируется.