What is a pure virtual function?

转载 2007年09月14日 16:06:00

What is a pure virtual function?

A pure virtual function is a function that must be overridden in a derived class and need not be defined. A virtual function is declared to be "pure" using the curious "=0" syntax. For example:

 Here, Base is an abstract class (because it has a pure virtual function), so no objects of class Base can be directly created: Base is (explicitly) meant to be a base class. For example: 

 Abstract classes are immensely useful for defining interfaces. In fact, a class with only pure virtual functions is often called an interface. 

You can define a pure virtual function:


 This is very occasionally useful (to provide some simple common implementation detail for derived classes), but Base::f3() must still be overridden in some derived class. 

If you don't override a pure virtual function in a derived class, that derived class becomes abstract:


 
转载自:http://www.research.att.com/~bs/bs_faq2.html#pure-virtual
                之 
Bjarne Stroustrup's C++ Style and Technique FAQ

谈谈virtual函数

virtual , 写C++ 的都不会陌生吧,用于类的成员函数,用以表现对象多态的性质。为多态基类声明virtual 函数以前看书时,得到一条“黄金定律”(这是错误的): 永远应该以virtual...
  • u014613043
  • u014613043
  • 2016年05月06日 14:18
  • 669

effective C++读书笔记(六)

6. 继承和面向对象设计(Inheritanceand Object-Oriented Design) 条款32:确定你的public 继承塑模出is-a关系(Makesure public i...
  • necrazy
  • necrazy
  • 2013年11月07日 15:43
  • 600

什么叫pure function(纯函数)

在Knockout中,用到了pureComputer(),其原理来自于纯函数(pure function)。那么,什么叫纯函数呢? 纯函数 (来自:http://en.wikipedia.org/...
  • hongweigg
  • hongweigg
  • 2015年03月03日 10:55
  • 9897

C++读书笔记之纯虚函数pure virtual function

In object-oriented programming, a virtual function or virtual method is a function or method whose b...
  • shihui512
  • shihui512
  • 2013年06月03日 23:24
  • 1160

C++ virtual函数 实现机制

C++ 虚函数表解析前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“...
  • a819825294
  • a819825294
  • 2016年07月23日 10:16
  • 1763

带你玩转以太坊智能合约的"Hello World"

学习目标 使用solidity语言撰写智能合约 开发前的准备 Ubuntu环境下Atom编辑器安装及使用 安装所需工具 安装nvm 安装node 安装npm 启动testrpc 建立项目 目录...
  • rectsuly
  • rectsuly
  • 2018年01月10日 21:53
  • 293

Vue2.3.0源码笔记(未完)

读Vue2.3.0源码笔记
  • fangfanggaogao
  • fangfanggaogao
  • 2017年05月22日 19:48
  • 445

C++ 实用泛型编程之 虚拟函数(C++ virtual function)杂谈

一 C++虚拟函数(C++ virtual function)杂谈   我们在编程的时候,经常会遇到这样的情况,假设有两个对象,你要在函数中分别调用它们的OnDraw方法,我们以前的做法一般是这样的。...
  • nanjian011
  • nanjian011
  • 2014年12月01日 09:12
  • 1373

Pure Css简单小结

Grids:5/24                                         //行             Thirds        //列            ...
  • cheng_qiong
  • cheng_qiong
  • 2016年06月28日 16:12
  • 686

Echoprint系列--编译

最近要做一个音乐相关的客户端,其中一个功能是音乐识别,搜索了一些资料选择Echoprint来开发,Echoprint是开源免费的,而且多种客户端都支持能节约很多时间,今天主要下载和编译源码以及测试。(...
  • jwzhangjie
  • jwzhangjie
  • 2015年06月09日 13:48
  • 3263
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:What is a pure virtual function?
举报原因:
原因补充:

(最多只允许输入30个字)