类继承和构造函数

时间:2013-03-30 04:43:58

标签: c++

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

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

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

2 个答案:

答案 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。