这里,就只附上简单的代码了,有兴趣的同学可以复制运行一下,主要是为了看出继承与简单工厂模式的区别 #include <iostream> class Operation { private: double _numberA; double _numberB; public: //Operation(){}; double getNumberA(){ return _numberA; } void setNumberA(int value){ _numberA = value; } double getNumberB(){ return _numberB; } void setNumberB(int value){ _numberB = value; } virtual double getResult(){ double result=0; return result; } }; class OperationAdd:public Operation{ private: public: double getResult(OperationAdd* flag){ double result=0; result = flag->getNumberA() + flag->getNumberB(); return result; } }; // 写到这里只是一个简单的继承 int main(int argc, const char * argv[]) { // insert code here... OperationAdd* ope = new OperationAdd(); ope->setNumberA(5); ope->setNumberB(6); int res = ope->getResult(ope); std::cout<<res<<std::endl; return 0; } </iostream>