您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > ProblemB动物类抽象类
ProblemB动物类抽象类TimeLimit:1SecMemoryLimit:128MBSubmit:1690Solved:730[Submit][Status][WebBoard]Description每种动物都有自己的叫声,如狗的叫声是汪汪汪,猫的叫声是喵喵喵,老鼠的叫声是吱吱吱。构造类Animal,Dog,Cat,Mouse,他们都有成员数据name和sex,表示名字和性别。一个成员函数cry(),输出他们的叫声,在main函数中采用多态性调用他们。Input动物的姓名和性别Output动物的信息SampleInputJerrymJemmyfTommDroopymSampleOutput我叫Jerry,是一只男老鼠,我的叫声是:吱吱吱!我叫Jemmy,是一只女老鼠,我的叫声是:吱吱吱!我叫Tom,是一只男猫,我的叫声是:喵喵喵!我叫Droopy,是一条男狗,我的叫声是:汪汪汪!HINTAnimal应当为抽象类。AppendCode#includeiostream#includestringusingnamespacestd;classAnimal{protected:stringname;charsex;public:Animal(stringn,chars):name(n),sex(s){}virtualvoidcry()=0;};classDog:publicAnimal{public:Dog(stringn,chars):Animal(n,s){};virtualvoidcry(){cout我叫name,是一条;if(sex=='m')cout男;elsecout女;cout狗,我的叫声是:汪汪汪!endl;}};classCat:publicAnimal{public:Cat(stringn,chars):Animal(n,s){};virtualvoidcry(){cout我叫name,是一只;if(sex=='m')cout男;elsecout女;cout猫,我的叫声是:喵喵喵!endl;}};classMouse:publicAnimal{public:Mouse(stringn,chars):Animal(n,s){};virtualvoidcry(){cout我叫name,是一只;if(sex=='m')cout男;elsecout女;cout老鼠,我的叫声是:吱吱吱!endl;}};intmain(){stringnam;chars;cinnams;Animal*p;Mousem1(nam,s);p=&m1;p-cry();cinnams;Mousem2(nam,s);p=&m2;p-cry();cinnams;Catc1(nam,s);p=&c1;p-cry();cinnams;Dogd1(nam,s);p=&d1;p-cry();return0;}
本文标题:ProblemB动物类抽象类
链接地址:https://www.777doc.com/doc-2852678 .html