C++第六次课.pptVIP

  • 1
  • 0
  • 约小于1千字
  • 约 20页
  • 2017-12-26 发布于河北
  • 举报
C第六次课

第一题 缺省构造函数在没有定义任何构造函数有,只要定义了一个,就没有了. 系统生成了构造函数 系统是编译器 编译器也是人写的 第二题 对象的生命周期在计算机中就是变量的生存周期 第三题 构造函数表达式在构造函数之前执行 第四题 封装的概念是针对类的. 主题 多态 对象的状态 对象在当前的状态 对象在当前具有的属性值 状态迁移 对象从一种状态变化到另外一种状态 对象的属性值从一个变化到下一个 学生(学号、姓名、性别、年级、年龄) 一年级?二年级?三年级?四年级 状态迁移图 状态迁移 什么导致对象的状态迁移? 向对象发送消息后可能导致对象的状态迁移 多态 研究使对象在不同状态间迁移的消息 1、这不是一个定义 2、抽象的概念 班长的回锅肉服务 班长决定向全班提供回锅肉服务 张三:班长,要蒜苗回锅 李四:班长,要白菜回锅 王五:班长,要青椒回锅 班长:、、、、、、、、、、、、、、、 班长:我只提供回锅肉,其它自己想办法 C与C++的异同 在C语言中,班长没办法,他只好增加自己的菜单。 在C++语言中,班长不用修改自己的菜单,他只需要增加一个附件。 多态的表现一 构造函数 日期对象 超级素数对象 多态的表现二 函数 班长。回锅肉();//传统的 班长。回锅肉(蒜苗); 班长。回锅肉(青椒); 班长。回锅肉(白菜); C++的表现 1、函数名相同 2、参数个数不同 3、参数类型不同 4、与返回类型无关 多态的问题 二义性:同一个消息可以被解释为两个或多个意思. 张三:班长。回锅肉(); 班长:??????!!!!!!!! 班长:你要哪种回锅肉呢? 张三:哦,忘记给参数了。 参数的缺省值 在函数声明时,预先给参数赋值。在函数被调用时,则可以不写参数。 二义性问题 不带参数的函数与带参数的函数被称为多态 但是,带参数的函数有缺省参数值时,它与不带参数的函数怎么区别呢? 缺省参数的问题 规则:从右到左分配 运算符重载 作业 完善Date类: 1、正确计算日期 2、重载 - 运算符 == 运算符 3、打印出星期 4、写个程序测试 * * *

文档评论(0)

1亿VIP精品文档

相关文档