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

【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 精通抖音评论点赞接口的来!需要开发
  • ¥15 VB.NET2022如何生成发布成exe文件
  • ¥30 matlab appdesigner私有函数嵌套整合
  • ¥15 给我一个openharmony跑通webrtc实现视频会议的简单demo项目,sdk为12
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云