C++ : virtual函数和纯virtual函数

2011-09-18

今天补习C++

virtual函数和纯virtual函数(pure vitural function),可以使一个类成为抽象类。一个纯virtural函数是在声明时“初始化值为0”的函数,如下所示:

virtual void f() const = 0;//pure virtual function

“=0”成为纯指示符(pure specifier)。纯virtual函数不提供函数的具体实现,每个派生的具体类必须重写所有基类的纯virtual函数的实现,并且提供派生类是否重写这些函数的选择权。相反,纯virtual函数并不提供函数的实现,需要派生类重写这些函数以使派生类成为具体类,否则派生类仍然是抽象类。

当基类实现一个函数是没有意义的,并且程序员希望在所有具体的派生类中实现这个函数时,就会用到纯virtual函数。

在gnuradio中gr_block.h 的classgr_block中general_work 就是纯虚构函数

 virtual int general_work(intnoutput_items,
                             
gr_vector_int &ninput_items,
                             
gr_vector_const_void_star &input_items,
                             
gr_vector_void_star &output_items) = 0;

 

所以我们在写自己的block的时候,都要对这个函数进行重写,编写自己的code。 欧耶 !!! \(^o^)/

 

原文链接: https://www.cnblogs.com/nickchan/archive/2011/09/18/3104486.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ : virtual函数和纯virtual函数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/32480

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午9:41
下一篇 2023年2月8日 上午9:43

相关推荐