关于C++编程题目:需要定义一个CAnimal类,详细见下面

题目:定义一个CAnimal类,该类有数据成员name.用来表示canimal的名字,类型是字符串;有一个speak()函数用来描述 canimal的叫声,有一个display函数用来输出 name成员的内容 ccat和cdog都是从 canimal派生的类,他们分别有猫的名字叫声和狗的名字叫声。编写上述类, canimal ccat cdog ccat cdog
有知道的速度回复啊··急!!!

鸿蒙传说
浏览 630回答 2
2回答

holdtom

class CAnimal{string m_sName;int m_nCallCount;public:CAnimal(string _name){m_sName = _name;m_nCallCount = 1;}void SetCount(int _count){m_nCallCount = _count;}void Call(){cout << "我是 " << m_sName;for( int i=0; i<m_nCallCount; i++ ){cout << GetSound();}cout << endl;}string GetSound(){return "";}};class CCat: public CAnimal{public:CCat(string _name):CAnimal(_name){}string GetSound(){return "喵";}};class CDog: public CAnimal{public:CDog(string _name):CAnimal(_name){}string GetSound(){return "汪";}};如果要不行, 我把我自己写的发给你// 动物类class CAnimal{protected:string m_sName;string m_sColor;string m_sWeight;string m_sFood;public:CAnimal(){}~CAnimal(){}void ShowAnimal(){cout << "名字 :" << m_sName << endl;cout << "颜色 :" << m_sColor << endl;cout << "重量 :" << m_sWeight << endl;cout << "食物 :" << m_sFood << endl;}virtual void InputAnimalInfo()=0;};// 猫类class CCat: public CAnimal{public:CCat(){}~CCat(){}void InputAnimalInfo(){cout << "请输入猫的名字: ";cin >> m_sName;cout << "请输入猫的颜色: ";cin >> m_sColor;cout << "请输入猫的重量: ";cin >> m_sWeight;cout << "请输入猫的食物: ";cin >> m_sFood;}};// 狗类class CDog: public CAnimal{public:CDog(){}~CDog(){}void InputAnimalInfo(){cout << "请输入狗的名字: ";cin >> m_sName;cout << "请输入狗的颜色: ";cin >> m_sColor;cout << "请输入狗的重量: ";cin >> m_sWeight;cout << "请输入狗的食物: ";cin >> m_sFood;}};&nbsp;

呼如林

#include <iostream>#include <string>using namespace std;class CAnimal{private:string name;public:CAnimal(){}CAnimal(string n){name=n;}virtual void speak(){cout<<"动物的叫声"<<endl;}virtual void display(){cout<<name<<endl;}};class ccat:public CAnimal{private:string catname;public:ccat(string n){catname=n;}void speak(){cout<<"miao"<<endl;}void display(){cout<<catname<<endl;}};class cdog:public CAnimal{private:string dogname;public:cdog(string n){dogname=n;}void speak(){cout<<"wang"<<endl;}void display(){cout<<dogname<<endl;}};void main(){}刚写的,有什么不对,大家一起讨论呀
打开App,查看更多内容
随时随地看视频慕课网APP