首页 > 代码库 > 课程作业七

课程作业七

题目描述

  • 请将随机生成数字、表达式的部分设计成:一个Random基类,基类中有random()方法。并由该基类派生出RandomNumber类、RandomOperation类,继承并覆盖父类方法。
  • 学习简单工厂模式,思考能否将该模式运用到题目的第一点要求中。

作业要求

  • 体会继承和多态的思想
  • 发表一篇博客,博客内容为:提供本次作业的github链接,题目描述的代码部分的解释、简单工厂模式的学习。
#include<iostream>
#include<stdlib.h>
using namespace std;

class Random{
    public:
        virtual void random(int quantity);
};

class RandomNumber:public Random
{
    int number;
    public:
        void random(int quantity){
            number=rand()%11;
        }
};

class RandomOperation:public Random
{
    char operation;
    public:
        void random(int quantity){
            int a=rand()%4;
            switch(a){
                case 0:operation=+;break;
                case 1:operation=-;break;
                case 2:operation=*;break;
                case 3:operation=/;
            }
        }
};

class SimpleFactory
{
    public:
        static Random *creat_random(string &choose)
        {
            if("num"==choose)
            {
                return new RandomNumber();
            }
            if("ope"==choose)
            {
                return new RandomOperation();
            }
        }
};

 

课程作业七