首页 > 编程语言 >C++

C++

时间:2023-05-05 19:22:19浏览次数:40  
标签:weight int age Dog C++ Mammal void

动物世界

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、补充主函数的问号部分,并运行程序,检查输出是否合理。

#include <iostream>
using namespace std;

enum COLOR{ WHITE, RED, BROWN, BLACK, KHAKI };

class Mammal
{
public:
//constructors
Mammal()
{}
Mammal(int age,int weight)
{}
~Mammal()
{}

//accessors
int GetAge() const
{
return itsAge;
}
void SetAge(int age)
{
itsAge=age;
}
int GetWeight() const
{
return itsWeight;
}
void SetWeight(int weight)
{
itsWeight=weight;
}

//Other methods
void Speak() const
{
cout<<"Mammal is speaking..."<<endl;
}
void Sleep() const;
protected:
int itsAge;
int itsWeight;
};
class Dog:public Mammal
{
public:
//constructors
Dog()
{}
Dog(int age)
{
Mammal::itsAge=age;
}
Dog(int age, int weight)
{
Mammal::itsAge=age;
Mammal::itsWeight=weight;
}
Dog(int age, COLOR color)
{
Mammal::itsAge=age;
itsColor=color;
}
Dog(int age, int weight, COLOR color)
{
Mammal::itsAge=age;
Mammal::itsWeight=weight;
itsColor=color;
}
~Dog()
{}

//accessors
void GetColor();
void SetColor();

//Other methods
void WagTail()
{
cout<<"The dog is wagging its tail..."<<endl;
}
void BegForFood();
private:
COLOR itsColor;
};

int main()
{
Dog Fido;
Dog Rover(5);
Dog Buster(6, 8);
Dog Yorkie(3, RED);
Dog Dobbie(4, 20, KHAKI);
Fido.Speak();
Rover.WagTail();
cout << "Yorkie is " << Yorkie.GetAge() << " years old." << endl;
cout << "Dobbie weighs " << Dobbie.GetWeight() << " pounds." << endl;
return 0;
}

标签:weight,int,age,Dog,C++,Mammal,void
From: https://www.cnblogs.com/zh-ang-zhang/p/17375158.html

相关文章

  • [CodeForces-545A]题解(C++)
    PartIPreface原题目(Luogu)原题目(CodeForces)PartIISketch给定一个正整数\(n\),表示汽车数量。给定一个\(n\timesn\)阶矩阵\(A\),第\(i\)行\(j\)列上的数字表示\(i\)车与\(j\)车的对撞情况。\(\begin{aligned}\begin{cases}A_{i,j}=-1&i,j\text{车没......
  • c++-2023-05-05
    1、什么是标识符?变量、常量。为什么给标识符命名时要求开头不能使用数字?假如定义成int1=1,将造成混乱。2、为什么要有数据类型?为了方便分配内存。3、在vs的c++编译器中,如果定义单精度变量时其初始值后没有加f,系统会默认为double类型。4、c++中字符串的定义stringstr="hello......
  • C++ - VS2019配置pthread线程库
    说明在VS里用MS编译器不能直接调用pthread库,需要先自行下载该库:http://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip解压后用的到的只有Pre-built.2文件夹下的文件。 配置如下图分别配置三大项:包含目录-->...pthreads-w32-2-9-1-release\Pre-built.......
  • C++ 命名空间
    C++命名空间假设这样一种情况,当一个班上有两个名叫Zara的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。同样的情况也出现在C++应用程序中。例如,您可能会写一个名为xyz()的函数,在另一个可用的库中也存在......
  • C++ 循环
     有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式::loop:循......
  • 1688|Taobao|JD京东api接口获取商品详情C++演示案例
    ​ 商品详情页的作用:介绍产品信息、给出购买理由、提升信任感、提出售后保障。1、介绍产品信息:产品信息表做得越完整,越能让用户更细致了解产品,也减少了售前客服咨询的工作量。2、给出购买理由:在用户初步了解了产品信息后,商家就需要展示商品优势,给出核心卖点。接下来小编会展......
  • C++统计代码运行时间
    本来想自己写的,一看github上面都有就不再重复造轮子了。github上的项目如下:StopWatch纯标准库实现:使用std::chrono::high_resolution_clock,其实就是std::chrono::steady_clock的别名。StopWatch类似C#的实现:和C#的StopWatch比较像,在Windows下使用的是QueryPerformanceCounter......
  • C++的友元类
    C++中的友元类是一种特殊的类,它允许一个类授权另一个类或函数访问其私有成员。友元类的使用可以提供更好的封装和安全性,同时也可以增强代码的灵活性和可读性。声明友元类在C++中,声明一个类为另一个类的友元类需要在该类中进行声明。例如,如果类MyClass1希望将类MyClass2声......
  • 【C++之类构造函数和析构函数】
    【C++之类构造函数和析构函数】类的构造函数:1.类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。2.构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回void。3.构造函数可用于为某些成员变量设置初始值。类的析构函数:1.类的析构函......
  • 开心档之C++ 重载运算符和重载函数
    C++重载运算符和重载函数C++允许在同一作用域中的某个函数 和运算符 指定多个定义,分别称为函数重载 和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数 或重载运算符 时......