为这样的事情做构造函数的正确方法是什么?我只在Rectangle中设置高度和宽度吗?
class Rectangle {
public:
Rectangle(int height, int width);
int height, int width;
};
class Square : Rectangle {
Square(int height, int width);
}
答案 0 :(得分:1)
您只需在派生类的成员初始化列表中调用基类构造函数:
class Square : Rectangle {
Square(int height, int width): Rectangle(height, width)
{
//other stuff for Square
}
}
答案 1 :(得分:0)
你可能想这样做:
Square(int sidelength) : Rectangle(sidelength, sidelength) { }
这样你可以使用单个参数构造Squares,它将使用该参数调用Rectangle构造函数作为width和height。