为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

2 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

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;
}
};

 

查看完整回答
反对 回复 2022-02-14
?
呼如林

TA贡献1798条经验 获得超3个赞

#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()
{
}刚写的,有什么不对,大家一起讨论呀



查看完整回答
反对 回复 2022-02-14
  • 2 回答
  • 0 关注
  • 527 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号