您的位置:

C++ this指针:用于在成员函数中指向调用该函数的对象

C++ this指针:用于在成员函数中指向调用该函数的对象

更新:

C++中this指针是一个指向当前对象的指针。在成员函数中,可以使用this指针来访问调用该函数的对象的成员变量和成员函数。

一、定义和使用this指针

this指针是在成员函数内部定义的一个常量指针。它存储了当前对象的地址,可以通过它访问当前对象的成员变量和成员函数。在成员函数内,无需显式地传入this指针,编译器会自动将当前对象的地址赋给this指针。

下面是一个使用this指针的例子:

class Person {
public:
    void setName(const std::string& name) {
        this->name = name;
    }
    std::string getName() const {
        return this->name;
    }
private:
    std::string name;
};

Person person;
person.setName("Tom");
std::cout << person.getName() << std::endl; // 输出Tom

在setName函数内部,this指针被用来访问成员变量name。这里this->name等价于成员变量name。在getName函数内部,this指针被用来访问成员函数getName()。这里this->getName()等价于调用成员函数getName()。

二、作为返回值的this指针

this指针可以作为返回值返回。这种情况下,返回的是指向调用该函数的对象的指针。为了实现这个功能,需要将返回类型设置为类的引用或指针类型。下面是一个例子:

class Person {
public:
    Person& setName(const std::string& name) {
        this->name = name;
        return *this;
    }
    std::string getName() const {
        return this->name;
    }
private:
    std::string name;
};

Person person;
person.setName("Tom").setName("Jerry");
std::cout << person.getName() << std::endl; // 输出Jerry

在setName函数内部,返回的是指向调用该函数的对象的指针。这里使用了*this来访问调用该函数的对象。

三、作为函数参数的this指针

this指针也可以作为函数参数传递。这种情况下,可以在函数内部访问其他对象的成员变量和成员函数。下面是一个例子:

class Person {
public:
    void setName(const std::string& name) {
        otherPerson.setName(name);
    }
    std::string getName() const {
        return this->name;
    }
private:
    std::string name;
    Person otherPerson;
};

Person person;
person.setName("Tom");
std::cout << person.getName() << std::endl; // 输出Tom
std::cout << person.otherPerson.getName() << std::endl; // 输出Tom

在setName函数内部,将传入的name参数设置到了otherPerson对象的name成员变量中。在getName函数内部,使用了this指针访问调用该函数的对象的成员变量name。

四、总结

this指针在C++中是一个非常重要的概念,可以用来访问调用该函数的对象,作为返回值返回,或者作为函数参数传递。掌握this指针的使用可以帮助我们更好地编写面向对象的程序。

C++ this指针:用于在成员函数中指向调用该函数的对象

C++中this指针是一个指向当前对象的指针。在成员函数中,可以使用this指针来访问调用该函数的对象的成员变量和成员函数。 一、定义和使用this指针 this指针是在成员函数内部定义的一个常量指针

2023-12-08
C++ this指针:用于在成员函数中指向调用该函数的对象

C++中this指针是一个指向当前对象的指针。在成员函数中,可以使用this指针来访问调用该函数的对象的成员变量和成员函数。 一、定义和使用this指针 this指针是在成员函数内部定义的一个常量指针

2023-12-08
C++静态成员函数与this指针

2023-05-13
用于区分对象和类的隐式指针——this指向

2023-05-13
C++中this指针的应用场景及实现原理

2023-05-13
理解this指针,掌握this指针的使用方法

2023-05-13
c语言矩阵指针,C语言函数指针

2023-01-07
c到c语言笔记,cc在c语言

2022-11-27
C++类指针: 定位和操作对象内存

2023-05-13
基础c语言笔记,C语言笔记

2023-01-06
c语言调用类型,C语言函数的调用形式

2023-01-05
c语言笔记讲解,c语言程序笔记

2022-11-23
python常用函数学习笔记(python中常用的函数)

2022-11-15
一篇c语言笔记,c语言入门笔记

2022-12-02
如何让父类指针指向子类对象更加灵活?

2023-05-17
指针c语言学习,c语言学到指针

2023-01-07
C++符号:函数指针、指针数组、引用、位运算符

2023-05-13
c语言有没指针,c语言里面的指针

2022-11-28
指针类型c语言,C语言指针的类型

2022-11-30
利用指针函数在C++中实现值和地址的传递

2023-05-13