virtual函数必须要实现么?

程序中.h文件中这样写的

protected :

virtual  void  Onclose ( parmeter );

virtual  void  OnFrameStarupOk();

-------但是在cpp文件中并没有实现这两个函数:

编译时候会报错!!

error LNK****: unresolved external symbol "public: virtual void __thiscall

Class ::  Onclose ( parmeter );

==========只有纯虚函数不需要实现,是一个纯粹的接口,虚函数需要实现来实现多态=========

https://blog.csdn.net/hackbuteer1/article/details/7558868

首先强调 :

定义一个函数为虚函数,不代表函数为不被实现的函数。

定义为虚函数是为了允许用基类的指针来调用子类的这个函数。

定义一个函数为纯虚函数,才代表函数没有被实现。

===定义一个函数为纯虚函数是为了实现一个接口,起到一个规范的作用,

继承这个类的必须要实现这个虚函数。

-虚函数 ‘虚’就虚在‘推迟联编’ 或者  ‘动态联编’上,一个类函数的调用并不是

在编译的时刻被确定的,而是在运行时刻被确定的。由于编写代码的时候并不能确定

调用的是基类的函数还是哪个派生类的函数,所以被称为  ‘虚’ 函数。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容