急求一个C++的程序,题目是:带有对象成员的虚拟多继承,含有八个类。。求各位好心人帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:49:27

#include <iostream>
using namespace std;

class Animal // pure virtual class, abstract class, abstract data type(ADT)
{
public:
void SetName(const char *);
const char* GetName() const;
virtual void Speak() const = 0; // pure virtual function

protected:
char szName[20];
};

void Animal::SetName(const char *s)
{
strcpy(szName, s);
}

const char* Animal::GetName() const
{
return szName;
}

class Cat : public Animal // derived class
{
public:
void Speak() const; // function override
void CatchMouse() const;
};

void Cat::Speak() const
{
cout << "Meow, I am " << szName << endl;
}

void Cat::CatchMouse() const
{
cout << "I catch a mouse" << endl;
}

class Dog : public Animal
{
public:
void Speak() cons