课程作业七

题目描述

  • 请将随机生成数字、表达式的部分设计成:一个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();
            }
        }
};
时间: 2024-08-07 18:37:51

课程作业七的相关文章

编译原理课程作业1 消除无用产生式

前言: 一年前在知乎上看到一个回答,答主说自己学了两天Python,用十几个小时做完了全部的编译原理课程作业,当时吓傻了我,现在看来,虽然两天学会比不上,但Python做课程作业的速度简直是快,课程作业1里我还傻傻的用list的extend和append,加上set函数,到第二次作业里我才发现, 没有什么结构体是一个list不能解决的,如果有,那就再套一个list 课程作业题: 消除无用产生式 # -*- coding: utf-8 -*- class Solution: def __init_

前端工程师基础课程作业

一.问答题: (1)139邮箱资源服务器与缓存相关的响应首部是怎么配置的? (2)登录139邮箱web2.3,在浏览器有缓存的情况下,刷新页面,浏览器会不会重新发送请求获取静态资源?如果会,请列出与缓存相关的请求首部以及响应状态码:如果不会,请说明原因. (3)请指出Cache-Control与Expires的区别 (4)新功能上线后,如何清空浏览器的缓存,让用户获取最新的资源文件? 问题1.问题2 可用Fiddler抓包然后截图说明. 二.编程题: 请写一个页面,并封装相应的JS代码,完成13

课程作业01:模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。

1.设计思想: 首先是从JavaAppArguments.java示例开始,此示例已打印参数,定义数字 之和和作为存储单位的整型,然后将输入参数的字符串转化为整型,之后求和即可. 2.程序源码: //课程作业01 //李慧,2016.9.20 package demo; public class CommandParameterSum { public static void main(String[] args) { // TODO Auto-generated method stub Sys

20135302魏静静——linux课程第七周实验及总结

linux课程第七周实验及总结 实验及学习总结 1. 编译链接的过程和ELF可执行文件格式(以hello为例) GNU编译系统编译源码: 首先,运行C预处理器(cpp),将.c文件翻译成.i文件——gcc -E -o hello.cpp hello.c -m32 接着,运行C编译器(cc1),将.i文件翻译成ASCII汇编语言文件.s文件——gcc  -S -o hello.s hello.cpp -m32 然后,运行汇编器(as),将.s文件翻译成可重定位目标文件.o文件——gcc -c he

3月7日课程作业 信息化基础知识、信息化系统服务管理

3月7日课程作业  信息化基础知识.信息化系统服务管理 信息化基础知识 1.国家信息化体系要素 a) 信息化技术:是信息化体系六要素的龙头. b) 信息化资源:是国家信息化的核心任务,是国家信息建设取得实效的关键,也是我国信息化的薄弱环节.信息资源开发和利用的程度是衡量国家信息化水平的一个重要标志. c) 信息网络:是信息资源开发利用和信息技术应用的基础.通常将信息网络分为电信网.广播电视网和计算机网络.三网的发展方向将逐步实现三网融合. d) 信息技术和产业:是我国进行信息化建设的基础. e)

第一次课程作业(3月7日)

第一次课程作业:梳理课程重点(信息基础+服务管理) 第一章:信息化基础知识 1.信息的概念(知道):有两个层次(1)本体论:你认为它是什么样就是什么样 (2)信息论:由于我的认识不断深入,逐渐趋于它的本质 2.国家信息化体系6要素,关系图要记住,某个要素是什么功能 信息技术应用:六要素中的龙头,国家信息化建设的主阵地 信息资源:信息资源的开发利用是国家信息化建设的核心任务,是国家信息化建设取得实效的关键,也是国家信息化的薄弱环节.信息资源.材料资源.能源共同构成国民经济和社会发展的三大战略资源,

9月10日课程作业(练习)

linux运维实战练习-2015年9月10日课程作业(练习)安排 一.作业(练习)内容: 1.总结rpm和yum实现程序包的管理功能. (1)相关概念 内核功能:进程管理.内存管理.提供网络协议栈.驱动程序.... 应用程序功能:提供各种各样特定功能,如bash等 程序包的组成部分: 二进制程序:程序包的核心,存储在/bin, /sbin,/ /usr/bin, /usr/sbin等路径下 库文件:共享资源,存储在/lib64, /usr/lib64等路径下 配置文件:定义工作属性,存储在/et

课程作业2

课程作业02 设计思想:命令行参数都是字符串,必须现将其转化为数字,才能相加. 程序流程图: 源代码: import java.util.*; public class JavaAppArguments{ public static void main(String args[]){ Scanner in=new Scanner(System.in); int n,i; System.out.println("参数个数:"); n=in.nextInt(); double[] aDou

2015年8月30日课程作业(练习)

linux运维实战练习-2015年8月30日课程作业(练习)安排 一.作业(练习)内容: 1.总结文本编辑工具vim的使用方法: vim: 全屏幕的编辑器 编辑模式:命令模式 输入模式: 末行模式: 编辑模式 --> 输入模式: i: insert, 在光标所在在位置前可输入内容 a:append,在光标所在在位置后可输入内容 I: 行首,在光标所在在位置行首可输入内容 A:行尾,在光标所在在位置行尾可输入内容 O:在光标所在位置上方新建行,在行首可输入内容 o:new line,在光标所在位置