天天看点

简单工厂模式(大话设计模式C++实现)类图代码如下

简单工厂模式(大话设计模式C++实现)

类图

简单工厂模式(大话设计模式C++实现)类图代码如下

代码如下

#include

#include

using namespace std;

class Operation{

public:

virtual double getResult()=0;

void SetNumberA(double value){

NumberA = value;

}

double GetNumberA(){

return NumberA;

}

void SetNumberB(double value){

NumberB = value;

}

double GetNumberB(){

return NumberB;

}

protected:

double NumberA;

double NumberB;

};

class addOperation:public Operation{

public:

double getResult(){

return NumberA+NumberB;

}

};

class subOperation:public Operation{

public:

double getResult(){

return NumberA-NumberB;

}

};

class mulOperation:public Operation{

public:

double getResult(){

return NumberA*NumberB;

}

};

class divOperation:public Operation{

public:

double getResult(){

return NumberA/NumberB;

}

};

class simpleFatory{

public:

Operation* createOperation(string type){

if(type=="+"){

return new addOperation;

}

else if(type=="-"){

return new subOperation;

}

else if(type=="*"){

return new mulOperation;

}

else if(type=="/"){

return new divOperation;

}

return NULL;

}
           

};

int main(){

simpleFatory* factory=new simpleFatory;
Operation* operation=factory->createOperation("+");
if(operation==NULL){
    return -1;
}
operation->SetNumberA(16);
operation->SetNumberB(8);
std::cout<<operation->getResult()<<std::endl;
           

}

继续阅读