c++多态的一个示范

多态的好处:

1.组织结构清晰

2.可读性强

3.对于前期和后期的维护性高

实现一个计算器的多态

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 class abstractcaculator
 4 {
 5     public:
 6         virtual int getresult()
 7         {
 8             return 0;
 9         }
10         int a;
11         int b;
12 };
13 class add:public abstractcaculator
14 {
15     public:
16         int getresult()
17         {
18             return a + b;
19         }
20 };
21 class sub:public abstractcaculator
22 {
23     public:
24         int getresult()
25         {
26             return a - b;
27         }
28 };
29 class mul:public abstractcaculator
30 {
31     public:
32         int getresult()
33         {
34             return a * b;
35         }
36 };
37 
38 void test()
39 {
40     abstractcaculator *abc = new add;
41     abc->a = 10;
42     abc->b = 10;
43     cout << abc->a <<" + " << abc->b << " = " << abc->getresult() << endl;
44     delete abc;
45     
46     abc = new sub;
47     abc->a = 10;
48     abc->b = 10;
49     cout << abc->a <<" - " << abc->b << " = " << abc->getresult() << endl;
50     delete abc;
51     
52     abc = new mul;
53     abc->a = 10;
54     abc->b = 10;
55     cout << abc->a <<" * " << abc->b << " = " << abc->getresult() << endl;
56     delete abc;
57 }
58 
59 int main()
60 {
61     test();
62     return 0;
63 }

 

posted @ 2019-09-11 16:47  ChunhaoMo  阅读(201)  评论(0编辑  收藏  举报