C++ - 多态的简单实现
#include <iostream>
#include <string>
using namespace std;
class Parent
{
public:
virtual void print() // 这个函数可能被继承的子类重写,所以加上virtual 关键字来修饰它,称为虚函数,实现多态;
{
cout<<"I'm Parent."<<endl;
}
};
class Child:public Parent
{
public:
void print() // 虽然没有写 virtual 关键字,但是由于继承的关系,它就是虚函数;一般工程中没必要在子类中写 virtual;
{
cout<<"I'm Child."<<endl;
}
};
void printt(Parent*p)
{
p->print(); // 希望展现多态行为
}
t int main()
{
Parent p;
Child c;
printt(&p); // I'm Parent.
printt(&c); // I'm Child.
return 0;
}