编辑代码

#include <iostream>
using namespace std;
class abstractCalculator{
public:
    virtual int getResult(){return 0;};
    void setv1(int v){
        this->val1=v;
    }
    void setv2(int v){
        this->val2=v;
    }
    int val1;
    int val2;
};
class AddCalculator:public abstractCalculator{
public:
    virtual int getResult(){
        return val1+val2;
    }
};
class SubCalculator:public abstractCalculator{
public:
    virtual int getResult(){
        return val1-val2;
    }
};
void test01(){
    abstractCalculator* abc;
    abc=new AddCalculator;
    abc->setv1(10);
    abc->setv2(20);
    cout<<abc->getResult()<<endl;
    delete abc;
    abc=new SubCalculator;
    abc->setv1(10);
    abc->setv2(20);
    cout<<abc->getResult()<<endl;
}
int main() {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
	//cout << "Hello JSRUN!   \n\n         - from C++ ." << endl;
    test01();
	return 0;
}