C++初学者指南 第九篇(8)
来源:互联网 发布:电话销售软件 编辑:程序博客网 时间:2024/04/23 14:05
必备技能9.8:this关键字
在我们学习运算符重载之前,有必要先来讨论一下C++中的另外一个关键字:this。当每次调用成员函数的时候,会自动地传入一个指针,叫做this指针。该指针指向调用该成员函数的对象。
正如我们在前面学习到的那样,成员函数是可以直接访问类的私有数据的。例如下面的程序:
class Test{ int i; void f() { //.... };};
在函数f()中,我们可以使用下面的语句来为i赋值10:
i = 10;
实际上,上述语句是下面语句的简写形式:
this->i = 10;
为了更好的理解这点,请参看下面这个简短的程序:
//使用this关键字#include <iostream>using namespace std;class Test{ int i;public: void load_i(int val) { this->i = val; //等同于 i = val; }; int get_i() { return this->i; //等同于 return i; }};int main(){ Test o; o.load_i(100); cout << o.get_i(); return 0;}
上面的程序将显示数字100。当然,上述例子并不能展示this指针的重要性,也不会有人以这种方式来使用this。但是,不久我们就会看到为什么this指针在C++中很重要了。
练习:
1. 结构体是否可以函数成员函数
2. 联合体有什么特点?
3. this指针代表什么?
- C++初学者指南 第九篇(8)
- C++初学者指南 第九篇(1)
- C++初学者指南 第九篇(2)
- C++初学者指南 第九篇(3)
- c++初学者指南 第九篇(4)
- C++初学者指南 第九篇(5)
- C++初学者指南 第九篇(6)
- C++初学者指南 第九篇(7)
- C++初学者指南 第九篇(9)
- C++初学者指南 第九篇(10)
- C++初学者指南 第九篇(11)
- C++初学者指南 第九篇(12)
- C+++初学者指南+第六篇(5)
- C+++初学者指南+第六篇(6)
- C+++初学者指南+第六篇(7)
- C++:初学者的指南
- Objective-C 初学者指南
- Objective-C 初学者指南
- 80年代的人为什么不结婚
- 最简单的全日制时间显示,代码非常简单-时间日期特效
- Winform子窗体刷新父窗体
- 图标集锦
- 小诗
- C++初学者指南 第九篇(8)
- SQL 日期转化(在sql语句中转化)
- SQL语句增加列、修改列
- PHP内核开发编码标准——翻译自PHP5.2.13源代码中的CODING_STANDARDS文件
- 清空SQL Server数据库中所有表数据的方法
- ATM机小案例(库、表、约束、视图、存储过程和事务)
- 数据分组取最大值行
- 我的程序生活
- 关于登录linux时,/etc/profile、~/.bash_profile等几个文件的执行过程