课程作业七

链接:https://github.com/hhzb123/-6

class random
{ protected:
int num[20];
public:
random()
{ srand(time(0));
for(int i=1;i<20;i++)
{
num[i]=rand()%10;
}
}
} ;
random作为父类是最重要的一类,它里面有生成随机数的函数,是算法的核心。
class randomnumber:public random
{ public:
randomnumber():random()
{
}
void display(int i)
{
cout<<num[i];
}
};
randomnumber 类是用来生成随机数的,因为random生成的就是随机数,因此randomnumber在继承random的元素之后只需要增加输出部分,只需要在构造函数调用random的构造函数进而调用生成随机数的函数,把随机数存放在num数组中,再用display函数输出随机数就可以了。
class randomoperation:public random
{
char op[20];
public:
randomoperation():random()
{ for(int i=1;i<20;i++)
{
if(num[i]%41) op[i]='+';
if(num[i]%4
2 )op[i]='-';
if(num[i]%43) op[i]='*';
if(num[i]%4
0) op[i]='/';
}
}
void display(int i)
{
cout<<op[i];
}
};
randomoperation用来生成运算符号,构造函数时仍然调用了random的构造函数进而调用随机数生成函数,然后randomoperation需要定义字符数组op用来存放随机运算符号,通过父类random的随机数与4进行求余运算来决定运算符号,再用display函数输出运算符号。

感想:我觉得这次代码我使用了继承的方法来实现,先定义了父类random,然后再从中派生出了randomnumber和randomoperation类,派生的这两类,都用继承了random类的随机函数,随机数组,然后他们可以利用这个随机数组来输出随机数还是输出随机符号。这样使用继承方法实现编码,我觉得可以很大程度的节约了代码量,我就不用费力去在每一个类都写随机数生成函数和随机数组。只需在基类先写好,供子类继承就可以了。

posted on 2017-06-07 16:16  hhhhh123  阅读(121)  评论(0编辑  收藏  举报

导航