list1208.cpp

来自「teach yourself C++ in 21 days 第五版」· C++ 代码 · 共 35 行

CPP
35
字号
//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 + -
显示快捷键?