#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
//设计原则 开闭原则
//对扩展进行开放 对修改进行关闭
class AbstractCalculator {
public:
virtual int GetResult()
{
return 0;
}
int m_A;
int m_B;
};
//加法
class AddCalculator : public AbstractCalculator {
public:
int GetResult()
{
return m_A + m_B;
}
};
//减法
class SubCalculator : public AbstractCalculator {
public:
int GetResult()
{
return m_A - m_B;
}
};
//乘法
class MulCalculator : public AbstractCalculator {
public:
int GetResult()
{
return m_A * m_B;
}
};
void test01()
{
AbstractCalculator* calculator = new AddCalculator;
calculator->m_A = 10;
calculator->m_B = 20;
cout << "加法实现结果:" << calculator->GetResult() << endl;
calculator = new SubCalculator;
calculator->m_A = 10;
calculator->m_B = 20;
cout << "减法实现结果:" << calculator->GetResult() << endl;
calculator = new MulCalculator;
calculator->m_A = 10;
calculator->m_B = 20;
cout << "乘法实现结果:" << calculator->GetResult() << endl;
}
int main()
{
test01();
system("pause");
return EXIT_SUCCESS;
}
c++-----多态案例-计算器实现
最新推荐文章于 2024-07-22 09:38:37 发布