zoukankan      html  css  js  c++  java
  • 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^)/

     

  • 相关阅读:
    js面试题-----算法类
    js面试题-----安全类
    js面试题-----通信类
    js面试题-----面向对象类
    js面试题-----HTTP协议类
    js面试题-----CSS盒模型
    Java-JVM 类的初始化
    加密的相关基础
    AngularJS-directive.js 基本指令
    AngularJS-liveRoomDirective.js 直播间指令
  • 原文地址:https://www.cnblogs.com/nickchan/p/3104486.html
Copyright © 2011-2022 走看看