1 #include <iostream>
2
3 using namespace std;
4
5 // 基类 Shape
6 class Shape
7 {
8 public:
9 void setWidth(int w)
10 {
11 width = w;
12 }
13 void setHeight(int h)
14 {
15 height = h;
16 }
17 protected:
18 int width;
19 int height;
20 };
21
22 // 基类 PaintCost
23 class PaintCost
24 {
25 public:
26 int getCost(int area)
27 {
28 return area * 70;
29 }
30 };
31
32 // 派生类
33 class Rectangle: public Shape, public PaintCost
34 {
35 public:
36 int getArea()
37 {
38 return (width * height);
39 }
40 };
41
42 int main(void)
43 {
44 Rectangle Rect;
45 int area;
46
47 Rect.setWidth(5);
48 Rect.setHeight(7);
49
50 area = Rect.getArea();
51
52 // 输出对象的面积
53 cout << "Total area: " << Rect.getArea() << endl;
54
55 // 输出总花费
56 cout << "Total paint cost: $" << Rect.getCost(area) << endl;
57
58 return 0;
59 }