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 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错