C++ 虚函数、纯虚函数 VS JAVA抽象函数

原创 2016年08月29日 15:02:54

C++中虚函数与Java 中的抽象函数,大致有如下对应关系:

  C++                 Java
  虚函数 -------- 普通函数
  纯虚函数 -------- 抽象函数
  抽象类 -------- 抽象类
  虚基类 -------- 接口

 

C++
用virtual 关键字来表示.
虚函数的话父类也要给定义,因为子类可以不实现这个虚函数而沿用父类的虚函数
纯虚函数就是父类不给定义,子类必须要实现这个函数,不然子类不能被具象化


JAVA
抽象函数用abstract关键字表示.

java中必须在抽象类(父类)中,仅有声明并无定义(无实现),只能由其子类实现
并且抽象类不能被实例化.

[收集]c++抽象类、纯虚函数以及巧用纯虚析构函数实现接口类

在Java、C#中有关键词abstract指明抽象函数、抽象类,但是在C++中没有这个关键词,很显然,在C++也会需要只需要在基类声明某函数的情况,而不需要写具体的实现,那C++中是如何实现这一功能的...
  • yockie
  • yockie
  • 2011年11月29日 17:33
  • 6791

C++的抽象类详解

在介绍抽象类之前,我们先介绍一下纯虚函数。 1.纯虚函数   在基类中仅仅给出声明,不对虚函数实现定义,而是在派生类中实现。这个虚函数称为纯虚函数。普通函数如果仅仅给出它的声明而没有实现它的函数体,这...
  • lidiya007
  • lidiya007
  • 2016年11月18日 18:39
  • 8087

虚函数

先看一段在构造函数中直接调用虚函数的代码: 1 #include 2 3 class Base 4 { 5 public: 6 Base() { Foo(); } ...
  • lusic01
  • lusic01
  • 2018年01月19日 16:08
  • 6

lambda函数

在C++11中引入了lambda函数,焕然一新的感觉,从最早基于命令式编程范型的C语言,到加入了面向对象编程范型血统的C++,再到逐渐融入了函数式编程范型的lambda的新语言规范C++11。...
  • charles_r_chiu
  • charles_r_chiu
  • 2015年06月08日 21:43
  • 538

Java中的抽象函数与C++中的虚函数

1:java中没有虚函数的概念,但是有抽 象函数的概念,用abstract关键字表示,java中抽象函数必须在抽象类中,而且抽象 函数不能有函数体,抽象类不能被实例化,只能由其子类实现抽象函数,如果某...
  • yahohi
  • yahohi
  • 2012年06月28日 20:46
  • 3614

C++回调函数调用Java接口抽象函数

原文:http://www.diybl.com/course/3_program/c++/cppjs/20110103/552247.html 项目中很多代码采用C++编写,配置界面则采用BS结构,...
  • wag2765
  • wag2765
  • 2016年01月25日 16:35
  • 711

C++11 Lambda函数与表示式

http://zh.wikipedia.org/wiki/C%2B%2B11#Lambda.E5.87.BD.E5.BC.8F.E8.88.87.E8.A1.A8.E7.A4.BA.E5.BC.8F ...
  • leonardWang
  • leonardWang
  • 2013年03月12日 16:54
  • 9864

C++ 仿函数/函数指针/闭包lambda

在上一篇文章中介绍了C++11新引入的lambda表达式(C++支持闭包的实现),现在我们看一下lambda的出现对于我们变成习惯的影响,毕竟,C++11历经10年磨砺,出140新feature,对于...
  • anzhsoft2008
  • anzhsoft2008
  • 2013年12月21日 17:59
  • 14809

C++ 与 Java 之中的虚函数、抽象函数、抽象类、接口 比较

1. 虚函数 虚函数的存在是为了多态。 C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如...
  • u013630349
  • u013630349
  • 2016年03月09日 20:50
  • 336

java中接口类似c++中纯虚函数

Java提供了一种抽象方法的机制即接口,C++中叫纯虚函数。 包含抽象方法的类为抽象类,如果一个类有一个或多个的抽象方法,那么类一定要定义为抽象类。 子类需要继承接口类,且实现接口方法。 1...
  • yangguangmeng
  • yangguangmeng
  • 2016年05月15日 18:49
  • 1262
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 虚函数、纯虚函数 VS JAVA抽象函数
举报原因:
原因补充:

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