指针"/>
C++学习:this指针
类的对象有成员变量和成员函数构成,从程序运行的角度,独享是由数据和函数构成的,数据可以位于栈、堆、全局数据区;函数只能位于代码段,所有的对象共享一套成员函数。
成员函数能直接访问对象的属性(成员变量),是因为成员函数中有一个隐藏参数this指针,用于指代当前的对象。
#include <iostream>using namespace std;class Test
{
private:int mi;public://有参构造函数Test(int i){mi = i;}//拷贝构造函数Test(const Test& t){}//返回miint getMi(){return mi;}//打印this指针void print(){cout << "this = " << this << endl;}};int main()
{Test t1(1);Test t2(2);Test t3(3);cout << "t1.getMi() = " << t1.getMi() << endl;cout << "&t1 = " << &t1 << endl;t1.print();cout << endl;cout << "t2.getMi() = " << t2.getMi() << endl;cout << "&t2 = " << &t2 << endl;t2.print();cout << endl;cout << "t3.getMi() = " << t3.getMi() << endl;cout << "&t3 = " << &t3 << endl;t3.print();cout << endl;return 0;
}
输出结果
t1.getMi() = 1
&t1 = 0x64fe0c
this = 0x64fe0ct2.getMi() = 2
&t2 = 0x64fe08
this = 0x64fe08t3.getMi() = 3
&t3 = 0x64fe04
this = 0x64fe04
结果分析:
通过结果可以看出打印的this指针与对象的地址是一样的,这个this指针是一个隐藏的参数。
更多推荐
C++学习:this指针
发布评论