- 4
- 0
- 约 24页
- 2017-04-25 发布于四川
- 举报
5第五讲--运行时类型识别
第五讲 运行时类型识别;*; ; 和很多其他语言一样,C++是一种静态类型语言。其数据类型是在编译期就确定的,不能在运行时更改。然而由于面向对象程序设计中多态性的要求,C++中的指针或引用(Reference)本身的类型,可能与它实际代表(指向或引用)的类型并不一致。我们往往需要将一个多态指针转换为其实际指向对象的类型,就需要知道运行时的类型信息,这就产生了运行时类型识别的要求。
; 上面是一个典型的类继承关系图,基类在上,派生类向下生长。面向对象程序设计的一般目标就是用代码管理指向基类的指针。所以如果想增加一个新类来扩充程序(比如从shape中派生出rhomboid),代码体部分并不受影响。; 在上例中,shape接口部分的虚函数是draw(),其目的就是让用户通过一个shape指针来调用draw(),draw()在所有的派生类中都被重新定义。由于它是一个虚函数,所以即使是用一个shape()型的指针来调用它,它仍然会被正确调用。创建一个特定的对象(circle、square、triangle),取其地址并把它映射到shape*(忘掉对象的实际类型),然后在程序的其它地方使用这个匿名指针——这种从多个派生类到基类的映射叫做向上映射。; 假如在编程中遇到了特殊的需求,需要知道一个一般指针的
您可能关注的文档
最近下载
- 2025年大学《水土保持与荒漠化防治-3S技术应用》考试备考题库及答案解析.docx VIP
- 2024年AIAG控制计划CP第一版培训教材.pdf VIP
- 输电线路综合在线监测系统.doc VIP
- 《基于数字素养的中学美术教师教学评价体系构建研究》教学研究课题报告.docx
- 2026年河南单招题库真题及答案.docx
- 部编版语文一年级下册第四单元 家人 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx VIP
- 2025~2026学年山东省济南市槐荫区七年级英语第一学期期末考试试题(含答案).docx VIP
- 国家建筑标准设计图集07J501-1 钢雨篷(一)玻璃面板.pdf VIP
- 广东省修缮工程综合定额(2012年)说明.pdf VIP
- 2025年大学《水土保持与荒漠化防治-土壤侵蚀原理》考试备考题库及答案解析.docx VIP
原创力文档

文档评论(0)