4elist1205.cpp

来自「《21天学通C++》附盘的原代码。书上的每个例子在这里都有相应的C语言程序。」· C++ 代码 · 共 50 行

CPP
50 行
字号
//Listing 12.5 Overriding a base class method in a derived class

#include <iostream>
using std::cout;

enum BREED { GOLDEN, CAIRN, DANDIE, SHETLAND, DOBERMAN, LAB };

class Mammal
{
public:
	// constructors
	Mammal() { cout << "Mammal constructor...\n"; }
	~Mammal() { cout << "Mammal destructor...\n"; }

	//Other methods
	void Speak()const { cout << "Mammal sound!\n"; }
	void Sleep()const { cout << "shhh. I'm sleeping.\n"; }


protected:
	int itsAge;
	int itsWeight;
};

class Dog : public Mammal
{
public:

	// Constructors
	Dog(){ cout << "Dog constructor...\n"; }
	~Dog(){ cout << "Dog destructor...\n"; }

	// Other methods
	void WagTail() const  { cout << "Tail wagging...\n"; }
	void BegForFood() const  { cout << "Begging for food...\n"; }
	void Speak() const { cout << "Woof!\n"; }

private:
	BREED itsBreed;
};

int main()
{
	Mammal bigAnimal;
	Dog fido;
	bigAnimal.Speak();
	fido.Speak();
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?