24小时热门版块排行榜    

CyRhmU.jpeg
查看: 565  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

简单疯狂

金虫 (小有名气)

[求助] C++的简单问题(我是菜鸟)

#include<iostream>
#include<string>
using namespace std;
class Animal
{
public:
        string voice;
};
class Cat:public Animal
{
       
public:
       
        void sounds();
       
};
void Cat::sounds()
{
            voice="meow";
                cout<<voice<<endl;
}

class Dog:public Animal
{
public:
        void sounds();
       
};
void Dog::sounds()
{voice="wang";
                cout<<voice<<endl;
}

class Tiger:public Animal
{
public:
        void sounds();
       
};
void Tiger::sounds()
{
          voice="howl";
                cout<<voice<<endl;
}

int main(){
        string a;
        cin>>a;
        while(a!=" "
        {
               
                if(a=="cat"
                {
                        Cat cat;
                        cat.sounds();
                }else if(a=="dog"
                {
                        Dog dog;
                        dog.sounds();
                }
                else if(a=="tiger"
                {
                        Tiger tiger;
                        tiger.sounds();
                }else if(a!="cat"||a!="dog"||a!="tiger"
                {
                        break;
                }
                cin>>a;
        }
        return 0;
}
这个简单程序如何终止while循环,测试数据为
cat
dog
tiger
dog
输出:
meow
wang
howl
wang
原题是:定义一个Animal基类,此基类有三个继承类,分别是Cat、Dog、Tiger,基类与三个继承类都有voice函数用于发声,Animal发声为~,Cat发声为meow,Dog发声为wang,Tiger发声为howl。补全类定义,并写一个函数,要求传入三个不同的动物类的实例后会输出不同的叫声。有若干行输入,每行是cat、dog、tiger之一,输出是他们相对应的叫声.
谢谢!或者把您做出来的代码贴出来参考一下
经验告诉我,求人不如求己
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

简单疯狂

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 硫酸亚铜 at 2014-04-01 21:14:24
你的程序不是已经写完了吗?你还有什么问题?程序不能运行的话,就贴出错误信息

能运行,我把题目意思搞错了,这个东西是对的!谢谢回复,分都给你了
经验告诉我,求人不如求己
3楼2014-04-06 23:50:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

匿名

用户注销 (文坛精英)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
简单疯狂: 金币+10 2014-04-06 23:50:51
本帖仅楼主可见
2楼2014-04-01 21:14:24
已阅   申请博学EPI   回复此楼   编辑   查看我的主页
信息提示
请填处理意见