动物世界

1、实现Mammal类的方法

2、由Mammal类派生出Dog类,在Dog类中增加itsColor成员(COLOR类型)

3、Dog类中增加以下方法:

constructors: Dog()、Dog(int age)、Dog(int age, int weight)、Dog(int age, COLOR color)、 Dog(int age, int weight, COLOR color)、~Dog()

accessors: GetColor()、SetColor()

Other methods: WagTail()、BegForFood() ,并实现以上这些方法 。

提示:类似Speak()、WagTail()这些动作,函数体可以是输出一句话。比如:Mammal is spaeking... , The Dog is Wagging its tail...

4、补充主函数的问号部分,并运行程序,检查输出是否合理。

  1 #include<iostream>
  2 using namespace std;
  3 enum COLOR{ WHITE, RED, BROWN, BLACK, KHAKI };
  4 class Mammal
  5 {
  6   public:
  7     //constructors
  8     Mammal();
  9     Mammal(int age);
 10     ~Mammal();
 11
 12     //accessors
 13     int GetAge() const;
 14     void SetAge(int);
 15     int GetWeight() const;
 16     void SetWeight(int);
 17
 18     //Other methods
 19     void Speak() const;
 20     void Sleep() const;
 21   protected:
 22     int itsAge;
 23     int itsWeight;
 24 };
 25 Mammal::Mammal(){}//定义构造函数
 26 Mammal::Mammal(int age):itsAge(age){}
 27 Mammal::~Mammal(){}
 28 int Mammal::GetAge() const//用于获取itsAge
 29 {
 30   return itsAge;
 31 }
 32 void Mammal::SetAge(int age)//用于设置itsAge
 33 {
 34   itsAge=age;
 35 }
 36 int Mammal::GetWeight() const//用于获取itsWeight
 37 {
 38   return itsWeight;
 39 }
 40 void Mammal::SetWeight(int weight)//用于设置itsWeight
 41 {
 42   itsWeight=weight;
 43 }
 44 void Mammal::Speak() const//成员函数
 45 {
 46   cout<<"Mammal is speaking..."<<endl;
 47 }
 48 void Mammal::Sleep() const//成员函数
 49 {
 50   cout<<"Mammal is sleeping..."<<endl;
 51 }
 52
 53 class Dog:public Mammal//定义Dog类,继承Mammal类
 54 {
 55 private:
 56   COLOR itsColor;//设置颜色为私有属性,类型为枚举COLOR类型
 57 public:
 58   Dog();
 59   Dog(int age);
 60   Dog(int age,int weight);
 61   Dog(int age,COLOR color);
 62   Dog(int age,int weight,COLOR color);
 63   ~Dog();
 64   COLOR GetColor();
 65   void SetColor(COLOR color);
 66   void WagTail();
 67   void BegForFood();
 68 };
 69 Dog::Dog(){}//定义构造函数
 70 Dog::Dog(int age):Mammal(age){}//调用基类的构造函数
 71 Dog::Dog(int age,int weight):Mammal(age)
 72 {
 73   this->SetWeight(weight);
 74 }
 75 Dog::Dog(int age,COLOR color):Mammal(age)
 76 {
 77   this->itsColor=color;
 78 }
 79 Dog::Dog(int age,int weight,COLOR color):Mammal(age)
 80 {
 81   this->SetWeight(weight);
 82   this->itsColor=color;
 83 }
 84 Dog::~Dog(){}//定义析构函数
 85 COLOR Dog::GetColor()//获取对象的itsColor值
 86 {
 87   return itsColor;
 88 }
 89 void Dog::SetColor(COLOR color)//设置对象的itsCokor值
 90 {
 91   itsColor=color;
 92 }
 93 void Dog::WagTail()//定义成员函数
 94 {
 95   cout<<"The dog is wagging its tail..."<<endl;
 96 }
 97 void Dog::BegForFood()//定义成员函数
 98 {
 99   cout<<"The dog is begging its food..."<<endl;
100 }
101 int main()
102 {
103   Dog Fido;
104   Dog Rover(5);
105   Dog Buster(6, 8);
106   Dog Yorkie(3, RED);
107   Dog Dobbie(4, 20, KHAKI);
108   Fido.Speak();
109   Rover.WagTail();
110   cout<<"Yorkie is "<<Yorkie.GetAge()<<" years old."<<endl;
111   cout<<"Dobbie weighs "<<Dobbie.GetWeight()<<" pounds."<<endl;
112   return 0;
113 }

原文地址:https://www.cnblogs.com/wzzdeblog/p/10639985.html

时间: 2024-10-08 17:24:34

动物世界的相关文章

动物世界游戏!!

前两天跟朋友说起以前玩的DUBO的"动物世界"的游戏,下载了一个android的,觉得不太爽,干脆按照以前玩的感觉自己做了一个,这个版本没有用canvas,主要用css3 的transform 属性,在手机端效率太差劲了,还望高人指点效率迷津. 说明: 1.45秒压点倒计时 2.10秒中奖反馈倒计时 3.随机中奖,先到先得 4.可以用node扩展为多人在线版本 5.效率有待优化 贴上图片: 贴上代码: <!DOCTYPE HTML> <html> <hea

《动物世界》的剪刀石头布 HDU --- 6418

题目连接: https://vjudge.net/problem/1812686/origin emmm 这一题的资料来自<动物世界>这一个李易峰演的电影.. 主要的思路就是概率,但是会牵扯到博弈论这一个复杂的思路,如果继续深入就会越陷越深... 为什么不需要博弈的根本原因是它的总数的不变的,这个需要考虑到 A: a1, b1, c1 B: a2, b2, c2 (其中a, b, c分别对应剪刀,石头,布) 现在要B赢,并且题目提到了B知道A中手牌 所以 A要赢的最佳可能是(a'*(c-b)+

游戏中常见动物的象征意义

沙盘中动物的象征意义,可以触及来访者无意识中的人格内涵.沙盘中出现的动物,既可能是来访者本身所崇尚欣赏品质的具体化,也可能是自己恐惧担忧的象征. 考察的沙盘作品中动物的象征意义,可以触及来访者无意识中的人格内涵.盘中出现的动物,既可能是来访者本身所崇尚欣赏品质的具体化,也可能是自己恐惧担忧的象征. (一)十二生肖的象征意义 1.鼠:嗅觉灵敏,胆小多疑,警惕性高,加上它的身体十分灵巧,它的机灵和性能通灵方面,使得民间认为鼠性通灵,能预知吉凶灾祸.鼠的繁殖力强,成活率高,也是生命力强的象征. 2.牛

健康,home? [java的内存浅析]

健康,home? [java的内存浅析] 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 乐观上上,how can other kno u,u r yourself!I must be strong and carry on. -泥沙砖瓦浆木匠 一.闲谈下 201407月记着那时候身体垮了下来,呵呵.想说,对自己的说,也是对大家的负责吧.那时候胸疼胸闷,然后几乎累垮了,我还坚持了一星期,那一星期真的迷迷糊糊.完全不能

程序员到项目经理:从内而外的提升

转自:http://www.cnblogs.com/watsonyin/archive/2012/09/10/2679528.html 目录 从程序员到项目经理(一):为什么要当项目经理 从程序员到项目经理(二):升职之辨 从程序员到项目经理(三):认识项目经理 从程序员到项目经理(四):外行可以领导内行吗 从程序员到项目经理(五):程序员加油站,不是人人都懂的学习要点 从程序员到项目经理(六):程序员加油站 — 懂电脑更要懂人脑 从程序员到项目经理(七):程序员加油站 — 完美主义也是一种错

不是笑话的笑话-《迁徙猿漫漫归家路》

很真实的的程序员啊. http://v.youku.com/v_show/id_XODcyNzIzMjQw.html 这个是从中间开始播放的.模仿<动物世界>的语气播放. 都是心酸啊,说多了都是泪.

[设计模式] javascript 之 抽象工厂模式

抽象工厂模式说明 1. 工厂方法模式的问题: 在工厂方法模式里,创建类都需要通过 工厂类,如果要扩展程序,就必须修改工厂类,这违背了闭包原则,对扩展开放,对修改关闭:对于设计有一定的问题. 2. 如何解决:就要用到抽象工厂模式,就是对功能类单独创建工厂类,这样就不必修改之前的代码,又扩展了功能. 3. 工厂模式其实就是对 实现同一接口的 实现类 的 统一 工厂方式创建调用,但 javascript 没有接口这号东西,所以就去掉这一层 实现,但位功能类的成员及方法都应当一样; 抽象工厂源码例子 1

网络遥控器数据统计0526

一.统计脚本及代码 1 #!/bin/sh 2 3 root_dir=`pwd` 4 source_file="$root_dir"/operate0526.txt 5 single_file="$root_dir"/single0526.txt 6 result_file="$root_dir"/result.txt 7 8 rm -rf $single_file 9 rm -rf $result_file 10 11 ###统计出现次数最多的

php工厂设计模式

class DbFactory { private $errmsg = '未找到类文件'; static function factory($className){ $className = strtoupper(substr($className,0,1)).substr($className, 1); if(include_once($className.'.php')){ return new $className; } else{ throw new Exception($this->e