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】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/32480
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!