何时使用:使用存在继承关系的类型时,必须将一个变量或其他表达式的静态类型与该表达式表示对象的动态类型区分开来

静态类型:表达式的静态类型在编译时总是已知的,它是变量声明时的类型或表达式生成的类型

动态类型:动态类型直到运行时才可知,(变量或)表达式表示的内存中的对象的类型

如果表达式既不是引用也不是指针,则它的动态类型永远与静态类型一致。

如当print_total调用net_price时:double ret = item.net_price(n);,我们知道item的静态类型是Quote&,它的动态类型则依赖于item绑定的实参(即动态类型知道运行时调用print_total才知道),若我们传递一个Bulk_quote对象给print_total,则item的静态类型将与它的动态类型不一致(此时item的静态类型是Quote&,而相应的动态类型是Bulk_quote)

最新文章

  1. JS三大特性
  2. iOS 向模拟器里添加照片
  3. lr中定义字符串变量
  4. 一次有趣的XSS漏洞挖掘分析(2)
  5. POJ 2112 Optimal Milking 【网络流】【二分】【最短路】
  6. SQL 两张结构一样的表合并查询 .
  7. 01_Java解析XML
  8. Exception in thread "main" java.lang.ClassNotFoundException: 解决方法
  9. 20151221jquery学习笔记---日历UI
  10. mysql 清空表 Truncate及delete区别
  11. jquery_api(事件一)
  12. 计算机学院大学生程序设计竞赛(2015’12) 1004 Happy Value
  13. (2)java中的集中关系,is a, has a, 继承,重点聊聊继承
  14. CBO 基于成本的优化器[基础]
  15. Centos 配置开机启动脚本启动 docker 容器
  16. 二、linux的安装
  17. sql查询,更新,删除,操作。
  18. spring框架中的注解
  19. ArcGIS案例学习笔记-栅格数据分区统计(平均高程,污染浓度,污染总量,降水量)
  20. java开发的23中设计模式

热门文章

  1. chromium之compiler_specific
  2. zabbix基本监控各指标简解
  3. linux系统基础之---RAID(基于centos7.4 1708)
  4. css中三种隐藏方式
  5. ethereum(以太坊)(实例)--"安全的远程购买"
  6. UEditor代码实现高亮显示
  7. 关于一个flask的服务接口实战(flask-migrate,flask-script,SQLAlchemy)
  8. ACM1000:A + B Problem
  9. 转载:C语言指针使用的注意事项
  10. 优步UBER司机全国各地奖励政策汇总 (4月4日-4月10日)