C++ 简单工厂模式实现加减运算示例
#include
class OperationPlus : public OperationCls { public: int GetResult(){ return NumberA + NumberB;
}
}; class OperationSub : public OperationCls{ public: int GetResult(){ return NumberA - NumberB; }
};
class FactoryOperate{ public: OperationCls * CreateOperate(int type){ switch (type){ case 1: return new OperationPlus; break; case 2: return new OperationSub; break; default: break; }
}
};
int main(){
FactoryOperate *factory = new FactoryOperate();
cout<
}
// 解释每行内容:
#include
class OperationCls{ // 定义OperationCls类 public: virtual int GetResult() = 0; // 声明纯虚函数GetResult() private: int NumberA; // 定义私有成员变量NumberA int NumberB; // 定义私有成员变量NumberB };
class OperationPlus : public OperationCls // OperationPlus类继承自OperationCls类 { public: int GetResult(){ // 重写GetResult()函数 return NumberA + NumberB; // 返回NumberA和NumberB的和
}
};
class OperationSub : public OperationCls{ // OperationSub类继承自OperationCls类 public: int GetResult(){ // 重写GetResult()函数 return NumberA - NumberB; // 返回NumberA和NumberB的差 }
};
class FactoryOperate{ // 定义FactoryOperate类 public: OperationCls * CreateOperate(int type){ // 定义CreateOperate函数,根据输入的type返回相应的OperationCls对象指针 switch (type){ // 根据type的值进行判断 case 1: // 如果type为1 return new OperationPlus; // 返回一个OperationPlus对象指针 break; case 2: // 如果type为2 return new OperationSub; // 返回一个OperationSub对象指针 break; default: // 默认情况 break; }
}
};
int main(){
FactoryOperate *factory = new FactoryOperate(); // 创建FactoryOperate对象指针
cout<
}
原文地址: https://www.cveoy.top/t/topic/qww5 著作权归作者所有。请勿转载和采集!