多态的好处:
1.组织结构清晰
2.可读性强
3.对于前期和后期的扩展及维护性高
多态使用条件:父类指针或者引用指向子类对象
#include<iostream>
using namespace std;
//实现计算器抽象类
//多态的好处:
//1.组织结构清晰
//2.可读性强
//3.对于前期和后期的扩展及维护性高
class AbstractCalculator
{
public:
virtual int getResult()
{
return 0;
}
int m_Num1;
int m_Num2;
};
//加法计算器
class AddCalculator :public AbstractCalculator
{
int getResult()
{
return m_Num1+ m_Num2;
}
};
//减法计算器
class SubCalculator :public AbstractCalculator
{
int getResult()
{
return m_Num1 - m_Num2;
}
};
//乘法计算器
class MulCalculator :public AbstractCalculator
{
int getResult()
{
return m_Num1 * m_Num2;
}
};
void test01()
{
//多态使用条件
//父类指针或者引用指向子类对象
AbstractCalculator* abc = new AddCalculator;
abc->m_Num1 = 10;
abc->m_Num2 = 10;
cout << abc->m_Num1 << "+" << abc->m_Num2 << "=" << abc->getResult() << endl;
delete abc;
abc = new SubCalculator;
abc->m_Num1 = 10;
abc->m_Num2 = 10;
cout << abc->m_Num1 << "-" << abc->m_Num2 << "=" << abc->getResult() << endl;
delete abc;
}
int main()
{
test01();
}