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;
}
};同學寫的