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