您的位置:首页 > 其它

纯虚函数

2017-08-14 15:24 155 查看
编程是要符合实际生活的,假如我们现在要实现一个观察动物生活的软件。我们要定义许多的动物类来具体记录它们的生活习性。假如我们要调用某一动物的资料,很简单我们可以通过实例化对象通过访问函数来得到。但是有一天领导要来检查,需要我们把所有动物的资料全部调出来,这时候通过定义对象,就显得佷麻烦。这样我们想通过调用一个公有函数来得到所有资料。函数参数要接受所有动物类,前边博文中提到的赋值兼容规则恰好符合我们的要求,我们利用父类指针接收所有动物类。这就需要我们定义一个所有动物的父类。加入就定义为动物类,所有动物的公有习性都可以在动物类中定义,但是我们不可以实现这些函数,因为动物是一种抽象名词,不可能真正有像鸟,狗一样吃,睡,走等属性。所以我觉得那些伟大的程序员不单单是科学家,他们一定都是有生活的人才能发明出这么伟大的语言。这就引出我们今天的主题纯虚函数。

纯虚函数:是指被被标明为不具体实现的虚拟成员函数。它用于这样的情况:定义一个基类时,会遇到无法定义基类中虚函数的具体实现,其实现依赖于不同的派生类。

格式:virtual 返回值 函数名(参数列表) = 0;

我们简单把上述例子以程序介绍:



我们可以从例子中看出,我们的程序具有通用性。

含有纯虚函数的类,我们成为抽象类(如例子中的A类),抽象类不能实例化对象(与实际违背)。具体类继承抽象类要实现所有纯虚函数,不然由于继承相当于拷贝一份父类到子类来由于没有实现所有纯虚函数,所以它还是一个抽象类。

纯虚函数是一种程序通用性的思想,需要我们慢慢体会。

如有错误之处还请指教。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  纯虚函数