Java与C++在多态方面的对比
来源:互联网 发布:国产服装品牌 知乎 编辑:程序博客网 时间:2024/06/05 18:36
虽然不宜在构造函数中调用虚函数(动态绑定的函数),但如果调用了会发生什么呢?这是用Java和C++分别写的两个功能类似的小程序,结果却是不太一样,说明不同语言其实对多态的解释是不一样的。
C++版及运行结果
/*Base()Base.f()Sub()Sub.f() */
#include <iostream>using namespace std;class Base{public: Base(){ cout << "Base()"<<endl; this->f(); } virtual ~Base(){ } virtual void f(){ cout << "Base.f()" <<endl; }};class Sub:public Base{public: Sub(){ cout << "Sub()"<<endl; } ~Sub(){ } void f(){ cout << "Sub.f()" <<endl; }};int main(int argc,char * argv[]){ Sub s; Base & b = s; b.f(); return 0;}
Java版及运行结果
/*运行结果Base()Sub().f()Sub()Sub().f()*/
package cn.edu.fjnu;
public class Base { public Base(){ System.out.println("Base()"); this.f(); } public void f(){ System.out.println("Base().f()"); }}
class Sub extends Base{ public Sub(){ System.out.println("Sub()"); } public void f(){ System.out.println("Sub().f()"); } }class Test{ public static void main(String [] args){ Base b = new Sub(); b.f(); }}
- Java与C++在多态方面的对比
- pca 与 spca 在数据压缩方面的对比
- 关于PostgreSQL与MongoDB在NoSQL方面的简单对比
- Java和PHP在Web开发方面的八大对比
- Java和PHP在Web开发方面的八大对比
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- Objective-c 与java 的对比学习
- Java基础知识与C语言的对比
- C 与 JAVA 的对比分析
- C 与 JAVA 的对比分析
- Java和PHP在Web开发方面的八大对比 出处:IT专家网
- PHP与Java在Web开发方面的比较
- java与c++在虚函数方面的异同
- PHP与Java在Web开发方面的比较
- 花荣三十条---散户圣经
- JavaScript/js自动刷新页面方法总结和页面跳转
- 关于c++中的static
- Read binary files more efficiently using C#
- javascript小技巧&&JavaScript[对象.属性]集锦
- Java与C++在多态方面的对比
- 对依赖注入机制的资料收集
- 字符串的判空
- Excel シートインポート、Excel シートエクスポート
- java 相册管理系统
- 单件模式(Singleton Pattern)(综合讲解)
- flex 事件简述
- 关于YUV2RGB的2篇文章(ZZ)
- c++函数对象