多继承
多继承即一个子类可以有多个父类,它继承了多个父类的特性。
C++ 类可以从多个类继承成员,语法如下:
class<派生类名>:<继承方式1><基类名1>,<继承方式2><基类名2>,…
{
<派生类类体>
};
其中,访问修饰符继承方式是 public、protected 或 private 其中的一个,用来修饰每个基类,各个基类之间用逗号分隔,如上所示。现在让我们一起看看下面的实例:
实例
#include<iostream>usingnamespacestd; // 基类 ShapeclassShape{ public: voidsetWidth(intw) { width = w; } voidsetHeight(inth) { height = h; } protected: intwidth; intheight;}; // 基类 PaintCostclassPaintCost{ public: intgetCost(intarea) { returnarea * 70; }}; // 派生类classRectangle: publicShape, publicPaintCost{ public: intgetArea() { return(width * height); }}; intmain(void){ RectangleRect; intarea; Rect.setWidth(5); Rect.setHeight(7); area = Rect.getArea(); // 输出对象的面积 cout << "Total area: " << Rect.getArea() << endl; // 输出总花费 cout << "Total paint cost: $" << Rect.getCost(area) << endl; return0;}
当上面的代码被编译和执行时,它会产生下列结果:
Total area:35
Total paint cost: $2450