• 热门专题

java与c++在虚函数方面的异同

作者:cdlda博客  发布日期:2011-07-21 18:39:54
Tag标签:java  c++  虚函数  
  • 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
    虚函数 -------- 普通函数
    纯虚函数 -------- 抽象函数
    抽象类 -------- 抽象类
    虚基类 -------- 接口

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规