Effective C++ 读书笔记(三)
来源:互联网 发布:iphone7网络频段 编辑:程序博客网 时间:2024/05/16 11:31
Effective C++ 读书笔记(三)
版权声明:本文为 cheng-zhi 原创文章,可以随意转载,但必须在明确位置注明出处!
原文博客地址:这里
构造/析构/赋值 - 条款 10
令 operator= 返回一个 reference to *this
这个条款可以实现变量的连锁赋值问题,它被 C++ 所有内置类型和标准库的类型所遵守,我们也应当遵守。
你的自定义类型的 operator= 应该定义成这样:
MyType& operator=(const MyType& rhs){ //... return *this;}
原则
让 operator= 返回 reference to *this。
继承与面向对象设计 - 条款 34
区分接口继承和实现继承
在编写自己的 class 时,你应该明白提供下面 3 种类型函数的理由
1. pure virtual function
2. virtual function
3. no-virtual function
何时提供 pure virtual function?
要求派生类只继承接口时,提供纯虚函数。
class MyType{public: /* 派生类只继承接口 */ virtual void fun() const = 0; };
何时提供 virtual function?
要求派生类继承接口和缺省实现时,提供虚函数。
class MyType{public: /* 派生类继承接口和缺省实现 */ virtual void fun() const { //default code }};
何时提供 no-virtual function?
要求派生类继承接口的强制实现时,提供非虚函数。
class MyType{public: /* 派生类继承接口的强制实现 */ void fun() const { //default code }};
原则
1. 纯虚函数指定接口继承。
2. 虚函数指定接口和缺省实现继承。
3. 非虚函数指定接口的强制实现继承。
4. 接口继承和实现继承不同。
About Me
cheng-zhi:C / C++
Github:cheng-zhi
个人主页:cheng-zhi
0 0
- <<Effective C++>>读书笔记(三)
- 《Effective C++》读书笔记(三)
- 《effective C++》读书笔记(三)
- 《effective C++》读书笔记三——资源管理
- C++ 读书笔记 Effective C++(三)
- iOS-Effective Objective-C 2.0 读书笔记(三)
- 【读书笔记】Effective C++-1 让自己习惯C++(之三)
- Effective Java读书笔记三
- effective java读书笔记三
- 《Effective Java》读书笔记三
- Effective java 读书笔记( 三 )
- Effective c++读书笔记三
- Effective C++ 读书笔记(三)
- effective c++读书笔记(三)
- 【读书笔记】Effective C++-2 构造/析构/赋值运算(之三)
- 《Effective C++》读书笔记
- 《Effective C++》读书笔记
- 《Effective c++》读书笔记
- 机器学习笔记 Boost算法(GDBT,AdaBoost,XGBoost)原理及实践
- # 源码安装MySQL56
- 例题9-3 UVa 1347
- 二分完全匹配+kM算法 杭电acm2255 奔小康赚大钱
- Python 3基础教程23-多维列表
- Effective C++ 读书笔记(三)
- 超全整理!Python数据分析知识体系
- 我的Java之路——一 记事本编写Java小程序
- Android存储路径详细说明
- 阿里云centos6.5安装nginx
- # 安装nginx和php5.6
- LintCode 74 第一个错误的代码版本
- Java泛型_自定义泛型类
- BZOJ 4823: [Cqoi2017]老C的方块(最小割)