smower 2022-10-26 14:16 采纳率: 100%
浏览 236
已结题

【C++编程】使用c++语言编程完成以下功能。

题目:

有以下动物基类,基类方法用于输出动物的移动信息。

class Animal {

protected:

        string name;

 public:

        void move(){

                 count<<name<<" is moving "<<endl;

        }

};

增加动物类Dog继承了Animal。初始化时指定其name。动物类对象通过getNmae和setName方法读写name。增加属性father用于存储该Dog的父本名称。

按照要求写出Dog的完整程序。要求Dog类之间的关系至少到父和祖父这个层次。

请大家测试完成后再发出来,注意只能用C++写哦,zaixian等等!2:10

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-10-26 14:49
    关注

    要求Dog类之间的关系至少到父和祖父这个层次====这是啥个意思???
    谁是父,谁是祖父?是需要Dog继续往下派生子类吗?

    #include <iostream>
    using namespace std;
    class Animal 
    {
    protected:
            string name;
     public:
            void move()
            {
                 cout<<name<<" is moving "<<endl;
            }
    };
    class Dog : public Animal 
    {
        protected:
             Dog *m_pFather; //新增数据成员
         public:
             Dog(string name) 
             {
                 this->name = name;
                 m_pFather = NULL;
             }
             string GetName()
             {
                     return name;
             }
             void SetName(string name)
             {
                     this->name = name;
             }
             void SetFather(Dog *pFather)
             {
                  m_pFather = pFather;
             }
             void move() 
             {
                  Animal::move();
                  if(m_pFather != NULL)
                        m_pFather->move();
             }
    };
     
    int main()
    {
        Dog *pGrandFather = new Dog("Joke");
        Dog *pFather = new Dog("Tom");
        Dog *pDog = new Dog("White");
        pFather->SetFather(pGrandFather);
        pDog->SetFather(pFather);
        pDog->move();
        delete pDog;
        delete pFather;
        delete pGrandFather;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 赞助了问题酬金50元 10月26日
  • 创建了问题 10月26日

悬赏问题

  • ¥15 streamingtool
  • ¥15 MATLAB图像问题
  • ¥20 树莓派5做人脸情感识别与反馈系统
  • ¥15 selenium 控制 chrome-for-testing 在 Linux 环境下报错 SessionNotCreatedException
  • ¥15 使用pyodbc操作SQL数据库
  • ¥15 MATLAB实现下列
  • ¥30 mininet可视化打不开.mn文件
  • ¥50 C# 全屏打开Edge浏览器
  • ¥80 WEBPACK性能优化
  • ¥30 python拟合回归分析