2013-03-30 3 views
-1

Каков правильный способ создания конструкторов для таких вещей? Я устанавливаю только высоту и ширину в Rectangle?Наследование классов и конструкторы

class Rectangle { 
public: 
    Rectangle(int height, int width); 
    int height, int width; 
}; 

class Square : Rectangle { 
    Square(int height, int width); 
} 
+1

Взгляните на http://stackoverflow.com/questions/120876/c-superclass-constructor-calling-rules. – Aiias

ответ

1

Вы просто вызовите конструктор базового класса в списке инициализации членов производного класса:

class Square : Rectangle { 
    Square(int height, int width): Rectangle(height, width) 
    { 
     //other stuff for Square 
    } 

}

0

Вы, вероятно, хотите сделать это таким образом:

Square(int sidelength) : Rectangle(sidelength, sidelength) { } 

Это вы можете построить квадраты с одним аргументом, и он вызовет конструктор Rectangle с t аргумент шляпы как ширина и высота.

Смежные вопросы