一起学习交流~

c/c++细节知识点 03this的作用

c++面试准备 laomuji 3个月前 (07-07) 192次浏览 已收录 0个评论

this作用

this指针隐式的存在于类的每一个非静态成员函数中,它指向调用这个成员函数的对象
当一个对象调用成员函数时,会先把地址赋值给该函数中的this指针,成员函数使用类中的数据时,都隐式使用this指针
this实际上是一个右值,但是可以这样认为:this指针的类型为ClassName* const,在const成员函数中this指针的类型为const ClassName* const

一般用法


#include<iostream>
using namespace std;
class Class3_1 {
private:
    int num1 = 0;
    int num2 = 0;
public:
    void setNum1(int num) {
        num1 = num;//隐式this
        this->num1 = num;//显式this
    }
    void setNum2(int num2) {
        //类的成员变量num被变量num屏蔽了,使用显示this防止屏蔽
        this->num2 = num2;
    }
    //static int getNum1() {return this->num1;}//this只能在非静态成员函数中
    int getNum2() {
        this->num1 += 1;
        return this->num1;
    }
    int getNum3() const {
        //this->num1 += 1;//const中this的类型为const ClassName* const
        return this->num1;
    }

};
喜欢 (0)
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论