针对“C++中this指针的用法及介绍”,我来为您进行详细的讲解与示范。
什么是this指针?
在C++中,this指针是一个指向当前对象的指针。简单来说,就是指向当前对象实例,即类的一个具体对象。通过this指针可以访问对象的属性、方法等。
this指针的用途
this指针的主要作用是用于区分同名的类参数和成员变量。如果类的成员变量与类的参数同名,则可以使用this指针来指明成员变量。同时,this指针还可以在类的方法中返回当前对象实例本身。在类的成员函数中可以通过指向对象的指针this来访问成员函数中的成员变量和成员函数。
使用this指针的示例
示例一:使用this指针指明成员变量
下面是一个使用this指针来指明成员变量的例子:
#include<iostream>
using namespace std;
class Student{
public:
int num;
char* name;
float score;
void setData(int num,char* name,float score){
this->num=num;
this->name=name;
this->score=score;
}
};
//测试样例
int main(){
Student s;
s.setData(101,"Lily",98.5);
cout<<s.num<<","<<s.name<<","<<s.score<<endl;
return 0;
}
在上面的示例中,this指针用来指明成员变量num、name和score,以避免与方法中的参数名产生冲突。
示例二:使用this指针返回当前对象
下面是一个使用this指针来返回当前对象实例本身的例子:
#include<iostream>
using namespace std;
class Point{
private:
int x;
int y;
public:
Point(int x=0,int y=0){
this->x=x;
this->y=y;
}
Point& setX(int x){ //返回this指针
this->x=x;
return *this;
}
Point& setY(int y){ //返回this指针
this->y=y;
return *this;
}
void print(){
cout<<"x="<<x<<",y="<<y<<endl;
}
};
//测试样例
int main(){
Point p(3,5);
p.setX(4).setY(6).print();
return 0;
}
在上面的示例中,setX和setY方法都返回*this指针,代表返回当前对象实例本身。这样可以实现方法的链式调用,使得代码更加简洁。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中this指针的用法及介绍 - Python技术站