设为首页 加入收藏

TOP

C++和C#及JAVA的继承性差异
2014-11-24 02:04:23 来源: 作者: 【 】 浏览:1
Tags:JAVA 继承性 差异

问题是这样的:下面的程序是否有错?如果没错的话,程序的输出是什么?


#include


class bar


{


public: vi
rtual void f() { std::cout << "I am in bar." << std::endl; }


};


class foo : public bar


{


private: void f() { std::cout << "I am in foo." << std::endl; }


};


class wa : public foo


{


public: void f() { std::cout << "I am in wa." << std::endl; }


};


void main()


{


bar* me = new foo;


me->f();


delete me;


me = new wa;


me->f();


delete me;


return;


}


答案是:程序没有错,输出如下:


I am in foo.


I am in wa.


这是一道很有意思的面试题。一方面它测试了C++中继承性和多态性;另一方面,它也触及了C++和C#或JAVA有关继承方面的一些不同之处。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java与C 和C# 有哪些区别? 下一篇UltraEdit中Java编译运行设置方法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: