首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++再谈多态解决方案

2012-11-03 
C++再谈多态好了,面试官昨天刚问我C++多态,你怎么理解多态?嗯,我的课本里写的一两句话我一直记得:多态分为

C++再谈多态
好了,面试官昨天刚问我C++多态,你怎么理解多态?
嗯,我的课本里写的一两句话我一直记得:多态分为编译时多态和运行时多态,编译时多态也就是函数的重载,运行时多态是虚函数云云
面试官说重载不是多态,嗯好吧。
我也曾在其他书上看到说函数重载不是多态的说法,但老衲相信谁去?
刚刚翻了翻我的课本,嗯,确实有编译时多态和运行时多态之说。
那。。。。。。
今天笔试题又问多态,老衲真的hold不住了

[解决办法]
名词之争,了解各方主张即可
[解决办法]
你应该回答多态的作用而不是实现细节。
[解决办法]

我一般提起多态就是虚函数了。不过貌似编译时多态也有哦,忘记了。

建议看看《C++ Primer》吧,看上面怎么说的。
[解决办法]
重载确实不是多态 背过C/C++的面试题的飘过
[解决办法]

探讨
好了,面试官昨天刚问我C++多态,你怎么理解多态?
嗯,我的课本里写的一两句话我一直记得:多态分为编译时多态和运行时多态,编译时多态也就是函数的重载,运行时多态是虚函数云云
面试官说重载不是多态,嗯好吧。
我也曾在其他书上看到说函数重载不是多态的说法,但老衲相信谁去?
刚刚翻了翻我的课本,嗯,确实有编译时多态和运行时多态之说。
那。。。。。。
今天笔试题又问多态,老衲真的hold不住了……

[解决办法]
多态与非多态的实质区别就是函数地址是早绑定还是晚绑定。如果函数的调用,在编译器编译期间就可以确定函数的调用地址,并生产代码,是静态的,就是说地址是早绑定的。而如果函数调用的地址不能在编译器期间确定,需要在运行时才确定,这就属于晚绑定。

热点排行