C++——隐含的this指针&类的六个默认的成员函数

一. 隐含的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指针。

   

二. 类的六个默认成员函数


        其中最常用的是前四个默认的成员函数,我们将在之后的博客一一给大家介绍。


猜你喜欢

转载自blog.csdn.net/lycorisradiata__/article/details/80954365