C++ primer 5th :第15章面向对象程序设计
来源:互联网 发布:淘宝买家注册流程 编辑:程序博客网 时间:2024/06/05 09:31
15.2.3
1:关于基类的static type和dynamic type(我:这应该就是dynamic binding实现的方法)
首先,基本概念是,这里的static type与声明一个变量是static是两件不同的事。
进一步。如果一个expression(主要指base class)is neither a reference nor a pointer,那么就不存在dynamic binding的机会,因为它的static type和dynamic type总是一样的。(例如,在一个使用Quote基类的地方就只能使用Quote类,不能使用它的继承类;但是,在一个使用Quote&的地方,可以使用Quote的继承类)
最后。一个reference或pointer的expression,它的static type是明确的,但是它的dynamic type是与传入的类型的参数一致的(但传入的参数须是基类的继承类)。
(如一个Quote&的参数,它的static type是Quote&。
如果传入的参数是Quote object,其dynamic type还是Quote&,此时static type和dynamic type一致;
但是如果传入的参数是Bulk_quote的object,那么这个参数的dynamic type就与static type不一样了)
2.(the C++ programming language的摘抄)
12.2.6节:概念
1)在虚函数的第一个声明所在的类里,“必须”要提供定义(除非它被声明为纯虚函数);
2)关键字virtual就像指明一个界面,既要服务本类中的这个函数,也要服务由它派生出类里对应的函数;
3)Employee派生类的对象也应看做Employee的对象
4)用好虚函数,即使在没有考虑到后面会派生出什么类的时候也可以在user-code里使用虚函数(后面不用改变user-code),这是类机制中最关键的一个方面 ==》 只要用得好,就成为了面向对象程序设计的基石,并能够为一个不断演化的程序提供一个方面的稳定性。
5)要在C++中取得多态性的行为,有两个方面:调用的函数就必须是虚函数;而对象必须是通过指针或引用去操作的
6)抽象类
- C++ primer 5th :第15章面向对象程序设计
- 《C++Primer》读书笔记——第15章 面向对象程序设计
- 《c++ primer》 第15章 面向对象程序设计 学习笔记
- C++ Primer学习总结 第15章 面向对象程序设计
- 《c++ primer》第五版 第15章 面向对象程序设计
- [C/C++] 第15章:面向对象编程 《 C++ Primer 》
- 《c++primer》第15章面对对象程序设计习题解答
- 重新学习《C++Primer5》第15章-面向对象程序设计
- C++primer第五版笔记-第十五章面向对象程序设计
- c++primer要点-面向对象程序设计
- C++primer阅读笔记---------------面向对象程序设计
- Primer C 4th(第5章习题)
- 第15章 面向对象程序设计
- Lua_第 15 章 面向对象程序设计
- 《面向对象程序设计(C++)》第4章习题2
- C++primer学习:面向对象程序设计(2):抽象基类
- C++primer学习笔记----面向对象程序设计(1)
- C++primer学习笔记----面向对象程序设计(2)
- unix设计十七条原则之一(unix编程艺术笔记)
- 每日算法之二十八:Longest Valid Parentheses
- Struts2工作原理和框架扩展点
- Binary Tree Maximum Path Sum
- Java程序员的10道XML面试题
- C++ primer 5th :第15章面向对象程序设计
- 深入理解HTTP Session
- JSP的session会话对象
- 你容身于白色的沙滩中,与幽灵同行
- 函数参数中带省略号的用法
- 配置android环境以及下载android源代码
- 如何选择编程语言摘要
- jQuery模拟触发
- Spring MVC + Hibernate + Maven: Crud操作示例