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 }