实例 C++ 多态性——以不同的方式执行单个操作

x
 
#include <iostream>
#include <string>
using namespace std;
// Base class
class Animal {
  public:
    void animalSound() {
      cout << "The animal makes a sound \n" ;
    }
};
// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
      cout << "The pig says: wee wee \n" ;
    }
};
// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
      cout << "The dog says: bow wow \n" ;
    }
};
int main() {
  Animal myAnimal;
  Pig myPig;
  Dog myDog;
  myAnimal.animalSound();
  myPig.animalSound();
  myDog.animalSound();
  return 0;
}
                    

输出结果

The animal makes a sound
The pig says: wee wee
The dog says: bow wow