第12章 类 【C++ primer】
来源:互联网 发布:mac酷狗怎么切换歌曲 编辑:程序博客网 时间:2024/06/02 00:21
在 C++ 中用类来定义自己的 抽象数据类型 ( abstract data type )
数据抽象能够隐藏对象的内部表示,同时仍然允许执行对象的公有 public 操作。
1, 类作用域
2, 构造函数
3, this 指针
与类有关的三个新特征 : 1), 类作用域 2), 可变成员 3), 静态成员。
构造函数 : 。。。
成员函数 : {
成员函数有一个附加的隐含实参,将函数绑定到调用函数的对象
trans.avg_price(); 则在 avg_price() 函数内部对 Sales_item 类成员的引用就是对 trans 成员的引用!
}
double avg_price() const; const 成员不能改变其所操作对象的数据成员。(const 此时必须同时出现在声明与定义中)
struct 与 class 的区别!
在声明和定义处指定 inline 都合法! 类内部定义的默认为 inline
class Screen; 前向声明 (forward declaration) 不完全类型 (incomplete type)
定义类型时,不进行存储分配。 定义对象时 : 进行分配空间!
12.2 隐含的 this 指针
1, 何时使用 this 指针。
返回 *this
不能从 const 成员函数返回指向类对象的普通引用。const 成员函数只能返回 *this 作为一个 const 引用。
this 的类型是一个指向类类型的 const 指针。
在 const 成员函数对象里 {
this 的类型是一个指向 const 类类型对象的 const 指针。
}
3, 基于 const 的重载; void get(); void get() const; const void get() const;
4, 可变数据成员
mutable 可变数据成员
数据抽象能够隐藏对象的内部表示,同时仍然允许执行对象的公有 public 操作。
1, 类作用域
2, 构造函数
3, this 指针
与类有关的三个新特征 : 1), 类作用域 2), 可变成员 3), 静态成员。
构造函数 : 。。。
成员函数 : {
成员函数有一个附加的隐含实参,将函数绑定到调用函数的对象
trans.avg_price(); 则在 avg_price() 函数内部对 Sales_item 类成员的引用就是对 trans 成员的引用!
}
double avg_price() const; const 成员不能改变其所操作对象的数据成员。(const 此时必须同时出现在声明与定义中)
struct 与 class 的区别!
在声明和定义处指定 inline 都合法! 类内部定义的默认为 inline
class Screen; 前向声明 (forward declaration) 不完全类型 (incomplete type)
定义类型时,不进行存储分配。 定义对象时 : 进行分配空间!
12.2 隐含的 this 指针
1, 何时使用 this 指针。
返回 *this
Screen& Screen::move(index r, index c) { index row = r * 5; cursor = row + c; return *this;}2, 从 const 成员函数返回 *this
不能从 const 成员函数返回指向类对象的普通引用。const 成员函数只能返回 *this 作为一个 const 引用。
this 的类型是一个指向类类型的 const 指针。
在 const 成员函数对象里 {
this 的类型是一个指向 const 类类型对象的 const 指针。
}
3, 基于 const 的重载; void get(); void get() const; const void get() const;
4, 可变数据成员
mutable 可变数据成员
private : mutable int count; void so() const { count++;}这样就可以了!
- [C/C++] 第12章 类 primer
- c++primer plus 第12章习题
- C++Primer第5版读书笔记(第12章)
- C++primer plus 第11-12章笔记
- C Primer Plus 第6版 12章 练习9
- C.Primer.Plus(第六版)第12章 队列模拟
- C.Primer.Plus(第六版)第12章 编程练习
- C++Primer 第10章的练习题:TextQuery类
- 《C++Primer》读书笔记——第7章 类
- C++primer第4版第十二章类
- 第12章 类 【C++ primer】
- 第12章 类 【C++ primer - 下】
- 《C++ Primer》 第12章 类
- 《C++ primer》第 12 章 类
- 【C++ Primer】第12章 类
- C primer plus第12章(存储类、链接和内存管理)
- C primer plus第12章(存储类、链接和内存管理)习题
- C++ Primer Plus 第12章 类和动态内存分配
- linux常用系统调用函数
- Android环境配置及模拟器启动不了
- FPGA_Embedded_9_29~10_6
- 对于Windows,GB18030是不可用的
- 关于ROS的个人见解
- 第12章 类 【C++ primer】
- linux下dispaly 设置
- LeetCode: Add Binary
- c++msdn、RedHatlinux5、win7分区x-AcronisDiskDirector 下载
- hdu线段树专题训练
- 集成FusionCharts图表,可实现同比环比
- 拓扑排序
- 正确解析dojo的子小部件
- Shell排序算法