作笔记使用,如有写的不好或者不够精妙的,还请指正!!如果觉得有帮助也可以三连一波,多谢!
代码:
#includeusing namespace std; class Caculator { public: virtual int caculate(int a, int b) = 0; // 设为纯虚函数,子类必须重写 }; class Add : public Caculator { public: int caculate(int a, int b) { return a + b; } }; class Minus : public Caculator { public: int caculate(int a, int b) { return a - b; } }; class Multiply : public Caculator { public: int caculate(int a, int b) { return a * b; } }; class Divide : public Caculator { public: int caculate(int a, int b) { return a / b; } }; class Factory { public: virtual Factory* create_factory() = 0; }; class AddFactory { public: Caculator* create_factory() { return new Add(); } }; class MinusFactory { public: Caculator* create_factory() { return new Minus(); } }; class MultiplyFactory { public: Caculator* create_factory() { return new Multiply(); } }; class DivideFactory { public: Caculator* create_factory() { return new Divide(); } }; int main() { AddFactory addFactory; Caculator* add = addFactory.create_factory(); cout << add->caculate(1,3) << endl; delete add; return 0; }
溜了溜了~~~



