函数继承Effective C++ 读书笔记之Part6.Inheritance and Object-Oriented Design
2013-05-27 19:21
435 查看
首先声明,我是一个菜鸟。一下文章中出现技术误导情况盖不负责
批注:
每日一道理
悲观的人,先被自己打败,然后才被生活打败;乐观的人,先战胜自己,然后才战胜生活。悲观的人,所受的痛苦有限,前途也有限;乐观的人,所受的磨难无量,前途也无量。在悲观的人眼里,原来可能的事也能变成不可能;在乐观的人眼里,原来不可能的事也能变成可能。悲观只能产生平庸,乐观才能造就卓绝。从卓绝的人那里,我们不难发现乐观的精神;从平庸的人那里,我们很轻易找到阴郁的影子。
主要是因为如果你这么做了,首先,你破坏了non-virtual函数应当被完全继承的初衷;其次,这样做会导致凌乱。所以这是一个不合理的情况,要不声明为virtual,要不就不要重新定义。否则这样带来的凌乱是对象执行成员函数的时候,取决于它们的声明类型,而不是本身自己所指向的类型。
文章结束给大家分享下程序员的一些笑话语录:
一边用着越狱的ip,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。
---------------------------------
原创文章 By
函数和继承
---------------------------------
批注:
每日一道理
悲观的人,先被自己打败,然后才被生活打败;乐观的人,先战胜自己,然后才战胜生活。悲观的人,所受的痛苦有限,前途也有限;乐观的人,所受的磨难无量,前途也无量。在悲观的人眼里,原来可能的事也能变成不可能;在乐观的人眼里,原来不可能的事也能变成可能。悲观只能产生平庸,乐观才能造就卓绝。从卓绝的人那里,我们不难发现乐观的精神;从平庸的人那里,我们很轻易找到阴郁的影子。
主要是因为如果你这么做了,首先,你破坏了non-virtual函数应当被完全继承的初衷;其次,这样做会导致凌乱。所以这是一个不合理的情况,要不声明为virtual,要不就不要重新定义。否则这样带来的凌乱是对象执行成员函数的时候,取决于它们的声明类型,而不是本身自己所指向的类型。
文章结束给大家分享下程序员的一些笑话语录:
一边用着越狱的ip,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。
---------------------------------
原创文章 By
函数和继承
---------------------------------
相关文章推荐
- Effective C++ 读书笔记之Part6.Inheritance and Object-Oriented Design
- 《Effective C++》读书笔记之item39:明智而审慎地使用private继承
- 读书笔记《Effective c++》 条款05 了解c++默默编写并调用哪些函数
- 《Effective C++》读书笔记之item34:区分接口继承与实现继承
- Effective C++ 阅读笔记(二)public继承与继承中的函数覆盖
- Effective C++: 关于继承中的函数的访问级别的修改.
- 《Effective C++》读书笔记之item37:绝不重新定义继承而来的缺省参数值
- 读书笔记《Effective C++》条款35:考虑virtual函数以外的其他选择
- 读书笔记《Effective c++》 条款06 若不想使用编译器自动生成的函数,就应该明确拒绝
- 读书笔记 effective c++ Item 37 永远不要重新定义继承而来的函数默认参数值
- Part6 继承与OOD Inheritance and Object-Oriented Design(二)
- Effective C++ 读书笔记之Part5.Implementations
- Effective C++ 读书笔记之Part8.Customizing new and delete
- effective C++ 05_了解C++默默编写并调用哪些函数 读书笔记
- 《Effective C++》读书笔记之item40:明智而审慎地使用多重继承
- 读书笔记《Effective C++》条款37:绝不重新定义继承而来的缺省参数值
- Effective C++ 读书笔记之Part9.Miscellany
- [翻译] Effective C++, 3rd Edition, Chapter 6. Inheritance(继承)和 Object-Oriented Design(面向对象设计)
- Effective C++ - Inheritance and Object-Oriented Design
- Effective C++ 读书笔记之Part2.Constructors, Destructors, and Assignment Operators