Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1543039
  • 博文数量: 237
  • 博客积分: 5139
  • 博客等级: 大校
  • 技术积分: 2751
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 14:48
文章分类

全部博文(237)

文章存档

2016年(1)

2012年(4)

2011年(120)

2010年(36)

2009年(64)

2008年(12)

分类: 嵌入式

2011-07-21 09:42:39

java与C++的虚函数比较java与C++的虚函数比较 
 class base { 
 private void print() 
 { 
 System.out.println("base"); 
 } 
 public void doprint() {
 print();
 } 
 }
 class derive extends base 
 private void print() 
 {
 System.out.println("derive");  
 } 
 class testVirtual { 
 public static void main(String args[]) { 
 base b = new derive(); b.doprint(); 
 } 
 } 
运行结果:base 
 ---------------------------------------------------------------------------- 
 c++例子 class base { private: virtual void print() { printf("base\n"); } public: void doprint() { print(); } virtual ~base(){} }; class derived : public base { virtual void print() { printf("derived\n"); } }; int main(int argc, char* argv[]) { derived d; base& b = d; b.doprint(); return 0; } 
 运行结果: derived 
 ---------------------------------------------------------------- 
如果将上面JAVA中的子类和父类中print函数的修饰符将private改为public, 则运行结果为derived 通过上面的例子, 应该可以看出C++与JAVA的虚函数异同点. 网上还有人把这二者的总结用下面的对比描述了一下: 
C++                Java 
虚函数 -------- 普通函数 
纯虚函数 -------- 抽象函数 
抽象类 -------- 抽象类 
虚基类 -------- 接口
阅读(1867) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~