*** C++动态绑定(多态)example code 1

#include <iostream>
#include <string.h>
using namespace std;

class Person
{
public:
    virtual void print(void)
    {
        cout << "I am a Person!" << endl;
    }
};

class Chinese: public Person
{
public:
    virtual void print(void)
    {
        cout << "I am a Chinese!" << endl;
    }
};

class American: public Person
{
public:
    virtual void print(void)
    {
        cout << "I am a American!" << endl;
    }
};

void printPerson (Person & person)
{
    person.print();
}

int main()
{
    Person p;
    Chinese c;
    American a;
    printPerson(p);
    printPerson(c);
    printPerson(a);
    
    return 0;
}
原文地址:https://www.cnblogs.com/superrunner/p/10134943.html