C++Primer(中文版)(第五版)【读书笔记 + 思考总结】
- 第7章 类
- 什么是数据抽象?
- 什么是封装?
- 什么是抽象数据类型?
- 一个设计良好的类应该提供什么?
- 什么是inline函数?
- inline函数有哪些形式?
- this 指针有什么作用?
- this 指针是什么类型?
- 对象是否具有常量性和成员函数是否具有常量性有什么影响?
- const 修饰成员函数有什么影响? 解决了什么问题?
- 常量对象和常量成员函数的关系是什么?
第7章 类
什么是数据抽象?
类的接口和实现分离。
什么是封装?
封装实现类的接口和实现分离,提供接口,隐藏细节。
什么是抽象数据类型?
类的设计者:考虑实现过程细节。
类的使用者:考虑有那些接口和功能。
一个设计良好的类应该提供什么?
直观易用的接口。
高效的实现过程。
什么是inline函数?
inline函数有哪些形式?
定义在类内部的函数是隐士的inline函数。
this 指针有什么作用?
通过 this 指针作为成员函数额外隐式参数访问调用成员函数的对象。
this 指针是什么类型?
指向不变,常量指针: type * const this
。
对象是否具有常量性和成员函数是否具有常量性有什么影响?
对象 | const成员函数 | 非const成员函数 |
---|---|---|
const对象、引用、指针 | 能调用 | 不能调用 |
no-const对象、引用、指针 | 能调用 | 能调用 |
const 修饰成员函数有什么影响? 解决了什么问题?
影响:const 修饰成员函数将 this 指针的类型从 type * const this
修改为:cosnt type const * this
。
解决 this 指针类型为 type * const this
时,const 对象无法调用 非const成员函数的问题。