4elist1208.cpp

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

CPP
37 行
字号
//Listing 12.8 Using virtual methods

#include <iostream>
using std::cout;

class Mammal
{
public:
	Mammal():itsAge(1) { cout << "Mammal constructor...\n"; }
	virtual ~Mammal() { cout << "Mammal destructor...\n"; }
	void Move() const { cout << "Mammal move one step\n"; }
	virtual void Speak() const { cout << "Mammal speak!\n"; }
protected:
	int itsAge;

};

class Dog : public Mammal
{
public:
	Dog() { cout << "Dog Constructor...\n"; }
	virtual ~Dog() { cout << "Dog destructor...\n"; }
	void WagTail() { cout << "Wagging Tail...\n"; }
	void Speak()const { cout << "Woof!\n"; }
	void Move()const { cout << "Dog moves 5 steps...\n"; }
};

int main()
{

	Mammal *pDog = new Dog;
	pDog->Move();
	pDog->Speak();

	return 0;
}

⌨️ 快捷键说明

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