-1

为这样的事情做构造函数的正确方法是什么?我只在矩形中设置高度和宽度吗?

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

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

2 回答 2

1

您只需在派生类的成员初始化列表中调用基类构造函数:

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

}

于 2013-03-30T04:47:18.637 回答
0

你可能想这样做:

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

这样,您可以使用单个参数构造 Squares,它将调用 Rectangle 构造函数,将该参数作为宽度和高度。

于 2013-03-30T04:47:19.283 回答