逆水行舟
智慧需要点滴的积累
废墟上吹过凄凉的冷风,空气中弥漫着忧伤的因子,泪水在残垣断壁前夺眶而出。
留言簿
(9)
给我留言
查看公开留言
查看私人留言
随笔分类
(31)
asp.net(8)
(rss)
C++(15)
(rss)
Degital Product(2)
(rss)
Ebooks
(rss)
JavaScript(2)
(rss)
Offic Program(3)
(rss)
笔试总结(1)
(rss)
随笔档案
(66)
2010年7月 (1)
2008年11月 (5)
2008年10月 (3)
2008年7月 (1)
2008年6月 (3)
2008年5月 (12)
2008年4月 (2)
2008年3月 (4)
2008年2月 (3)
2008年1月 (1)
2007年11月 (2)
2007年9月 (1)
2007年8月 (3)
2007年7月 (1)
2007年5月 (1)
2007年4月 (1)
2007年2月 (1)
2007年1月 (3)
2006年12月 (4)
2006年11月 (1)
2006年10月 (4)
2006年9月 (9)
文章分类
(2)
ASP.NET(2)
(rss)
C++
(rss)
Offic Program
(rss)
文章档案
(4)
2008年2月 (1)
2007年12月 (1)
2007年1月 (1)
2006年9月 (1)
最新随笔
1. 关于MSVCRTD.lib的编译错误
2. Quoted printable 编码说明
3. Base 64 编码说明
4. MIME邮件格式说明
5. [转 ]浅谈C++的智能指针
6. [转]C++中的指针--智能指针
7. [转]利用Rational Rose进行C++代码和数据库结构分析
8. COM 学习笔记(2)-引用计数
9. 《C++高效编程》学习笔记(1)
10. COM 学习笔记(1)
搜索
积分与排名
积分 - 205785
排名 - 127
最新随笔
1. 关于MSVCRTD.lib的编译错误
2. Quoted printable 编码说明
3. Base 64 编码说明
4. MIME邮件格式说明
5. [转 ]浅谈C++的智能指针
6. [转]C++中的指针--智能指针
7. [转]利用Rational Rose进行C++代码和数据库结构分析
8. COM 学习笔记(2)-引用计数
9. 《C++高效编程》学习笔记(1)
10. COM 学习笔记(1)
最新评论
1. re: C#中路径相关操作 [未登录]
s's
--12
2. re: 耳机 知识
评论内容较长,点击标题查看
--this link
3. re: 耳机 知识
评论内容较长,点击标题查看
--check here
4. re: 耳机 知识
评论内容较长,点击标题查看
--PrimeWritings rewiew
5. re: 《C++高效编程》学习笔记(1)
评论内容较长,点击标题查看
--MERCEDESGood
评论排行榜
1. c++面试题(17)
Powered by:
博客园
模板提供:
沪江博客
C++博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
C++ 学习(二 )多态性(积累中)
多态性,在c++中指具有不同功能的函数可以用同一个函数名,即可以用同一个函数名调用不同内容的函数。向不同的对象发送用一个消息,不同的对象在接收同样的消息,会产生不同的行为(方法)。
从系统实现角度来看。多态性分为两类:静态多态性和动态多态性。
静态多态性:在程序编译时系统就能决定调用哪个函数,因此静态函数有称编译时的多态性(实质上是通过函数的重载实现)。例如:函数的重载和运算符重载实现.
动态多态性:运行过程中才动态地确定操作指针所指的对象。主要通过虚函数和重写来实现。
发表于 2008-05-20 23:37
(Leyn)顽主
阅读(3483)
评论(7)
编辑
收藏
引用
所属分类:
C++
评论
#
re: C++ 学习(二 )多态性(积累中)[未登录]
回复
更多评论
原来重载也算是多态的一种。
早两天知道,就不会和学生讲不清楚了。
#
re: C++ 学习(二 )多态性(积累中)
回复
更多评论
"不同的对象在接收不同的消息,会产生不同的行为(方法)。"这不是废话吗。。。
应该是"不同的对象在接收相同的消息"
#
re: C++ 学习(二 )多态性(积累中)
回复
更多评论
笔误,谢谢:)
#
re: C++ 学习(二 )多态性(积累中)
回复
更多评论
"向不同的对象发送用一个消息"
应该是"向不同的对象发送同一个消息"吧
#
re: C++ 学习(二 )多态性(积累中)
回复
更多评论
笔误那么多 还不赶紧改改
#
重载运算符不是多态性吧?作者对概念理解错误
回复
更多评论
请读一下维基百科
http://en.wikipedia.org/wiki/Polymorphism_%28computer_science%29
我理解静Subtyping polymorphism 即动态多态性是指的虚函数,即用override virtual function的方法,名字和参数都相同,但继承类不同。运行时根据指针类型决定调用函数。override应该翻译成重写或者覆盖
而Parametric polymorphism所谓静态多态性则指的generic或者template,这是在编译时根据参数类型而绑定的。
而operator overload则是函数名相同,参数不同,这跟多态性一点关系没有,只是方便人类阅读记忆,对程序没区别,编译时会自动改名为不同名字的函数。
可悲的是这08年的错误文章竟然在google搜索“多态性”时名列第二,不知道有多少人都误解了
#
re: C++ 学习(二 )多态性(积累中)
回复
更多评论
不一定啊。因为对象是通过类这个莫子刻出来的,所以就像不同的东西进入黑盒子有不同的现象@mm
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
Quoted printable 编码说明
Base 64 编码说明
MIME邮件格式说明
[转 ]浅谈C++的智能指针
[转]C++中的指针--智能指针
[转]利用Rational Rose进行C++代码和数据库结构分析
COM 学习笔记(2)-引用计数
COM 学习笔记(1)
微软面试经历
数据结构与算法学习记录:快速排序 (转)
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理