虚函数应该是在软件架构时候用的比较多。
多态是指不同的对象接收了同样的消息而导致完全不同的行为,它是针对对象而言的,虚函数是运行时多态的基础,当然也是针对对象的
举例如下:
架构的时候需要定义一个类,但是里面的方法可以不实现,留好输入接口和输出接口,需要调用该接口的地方该怎么调用就怎么调用,把该类当成引用传递进去就可以了。
举例:下面是一个win32的控制台程序。
#include "stdafx.h"
#include <iostream>
using namespace std;
class CAnimal
{
public:
CAnimal()
{
}
~CAnimal()
{
}
virtual void getLegs()
{
cout<<"动物有几条腿?";
}
};
class CDog:public CAnimal
{
public:
CDog ()
{
}
~CDog()
{
}
void getLegs()
{
cout<<"狗有四条腿?";
}
};
class CFish:public CAnimal
{
public:
CFish()
{
}
~CFish()
{
}
void getLegs()
{
cout<<"鱼没腿";
}
};
void output(CAnimal &ani)
{
ani.getLegs() ;
}
int _tmain(int argc, _TCHAR* argv[])
{
CAnimal animal;
CDog dog;
CFish fish;
output(animal);
output(dog);
output(fish);
system("pause");
return 0;
}
具体代码见资源http://download.youkuaiyun.com/detail/xiaxiaojing/8368469
还有一个MFC的dialog版本的,具体见资源http://download.youkuaiyun.com/detail/xiaxiaojing/8368523
2449

被折叠的 条评论
为什么被折叠?



