C++学习:this指针

编程入门 行业动态 更新时间:2024-10-24 20:21:48

C++学习:this<a href=https://www.elefans.com/category/jswz/34/1768268.html style=指针"/>

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指针

本文发布于:2023-12-03 09:31:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1653799.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:指针

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!