一. 隐含的this指针
1. 每个成员函数都有一个指针形参,它的名字是固定的,叫做this指针。this指针是隐式的,并且它是成员函数的第一个参数。要注意的是构造函数比较特殊,它没有this指针;
2. 编译器会对成员函数进行处理,在对象调用成员函数时,编译器将对象的地址作为实参传给传给成员函数的第一个形参this指针;
编写代码如下:
#include <iostream>
using namespace std;
//(1)类内定义成员函数
class Person
{
public:
void Display()//成员函数
{
cout<<this->_name<<"-"<<this->_sex<<"-"<<this->_age<<endl;
}
public://成员变量
char* _name;
char* _sex;
int _age;
};
int main()
{
//将类实例化为一个对象
Person p;
p._name = "YoungJack";
p._sex = "男";
p._age = 25;
p.Display();
return 0;
}
运行结果如下:
3. this指针是成员函数隐含的指针形参,是编译器自己处理的,我们不可以在成员函数的形参中添加this指针的参数定义,也不能在调用时显式地传递对象的地址给this指针。
二. 类的六个默认成员函数
其中最常用的是前四个默认的成员函数,我们将在之后的博客一一给大家介绍。