虚函数说明

虚函数,可实现也可不实现的函数
  虚函数是为了允许用基类的指针来调用子类的这个函数

纯虚函数,代表函数没有被实现,在基类也不可实现
  纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。

 

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

 

posted @ 2023-02-24 10:27  迷人的危险~  阅读(11)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css