C++的多态性是C++实现面向对象技术的基础。具体的说,通过一个指向基类的指针调用虚成员函数的时候,将能够根据指针所指向的实际对象调用成员函数。
#include "stdafx.h"
class father
{
public:
void duotai()
{
printf("调用的是父函数\n");
}
virtual void fun()
{
printf("调用的是父虚函数\n");
}
};
class son:public father
{
public:
void duotai()
{
printf("调用的是子函数\n");
}
virtual void fun()
{
printf("调用的是子虚函数\n");
}
};
int main(int argc, char* argv[])
{
printf("Hello World!\n");
son m_pson;
father m_pfather;
son *mson=new son;//new 需要new son
father *mson_father=new son;//new 需要new son
father *mfather=new father;
mson->fun();
mson_father->fun();
mfather->fun();
return 0;
}
说明调用的谁,就是new了谁,给谁创造内存空间了