注册 登录
编程论坛 C++教室

求助:关于This指针?

yuyunliuhen 发布于 2006-12-15 17:46, 563 次点击

this指针的作用是什么啊?在哪些情况下可以用?可以举个例子吗?谢谢!

3 回复
#2
pusawl2006-12-15 18:44
this指针是类中的一个隐含的常指针。
当我们采用“对象。成员函数”的方法来调用成员函数时,编译器会自动的改造我们的成员函数,将这个隐含的指针放入成员函数的参数当中。这样,当我们采用“对象。成员函数”的方法来调用成员函数时,成员函数就知道它所要操作的数据是哪个对象的数据成员。
#3
luoxian_20032006-12-15 20:45

例子:+ 法重载
[CODE]class complex
{
private:
double real,imag;
public:
complex(double r=0.0,double i=0.0){real=r;imag=i;}
complex operator +(complex c2);
double outputreal(){return real;}
double outputimag(){return imag;}
};
complex complex::operator +(complex c2)
{
return complex(this->real+c2.real,this->imag+c2.imag); //注意这里的this的使用
}
void main()
{
complex a(3.2,4),b(2.3,5);
complex c=a+b;
cout<<"a:"<<a.outputreal()<<"+"<<a.outputimag()<<"i"<<endl;
cout<<"b:"<<b.outputreal()<<"+"<<b.outputimag()<<"i"<<endl;
cout<<"a+b="<<c.outputreal()<<"+"<<c.outputimag()<<"i"<<endl;
}[/CODE]

#4
yuyunliuhen2006-12-16 20:14
谢谢楼上的两位了。
1