多态的优点:
1、组织代码结构清晰
2、可读性强
3、扩展开放,修改关闭
#include<iostream>
using namespace std;
class Abstractcalculate {
public:
virtual int getresult(){
return 0;
}
int num1;
int num2;
};
class Addcalculate :public Abstractcalculate {
public:
int getresult() {
return num1 + num2;
}
};
class Subcalculate :public Abstractcalculate {
public:
int getresult() {
return num1 - num2;
}
};
class Mulcalculate :public Abstractcalculate {
public:
int getresult() {
return num1 * num2;
}
};
void test() {
//加法计算器的创建
Abstractcalculate *abc=new Addcalculate;
abc->num1 = 10;
abc->num2 = 20;
cout << abc->num1 << "+" << abc->num2 << "=" << abc->getresult() << endl;
delete abc;//用完之后释放abc的值,但是指针类型不变
//减法计算器的创建
abc = new Subcalculate;
abc->num1 = 10;
abc->num2 = 20;
cout << abc->num1 << "-" << abc->num2 << "=" << abc->getresult() << endl;
delete abc;
//乘法计算器的创建
abc = new Mulcalculate;
abc->num1 = 10;
abc->num2 = 20;
cout << abc->num1 << "*" << abc->num2 << "=" << abc->getresult() << endl;
delete abc;
}
int main() {
test();
return 0;
}