社区
C++ 语言
帖子详情
怎么判断this指针指的是谁?
幽雾
2009-09-30 10:40:11
一到程序里就有点乱,请牛人指点啊~~~~
...全文
113
9
打赏
收藏
怎么判断this指针指的是谁?
一到程序里就有点乱,请牛人指点啊~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cattycat
2009-09-30
打赏
举报
回复
一样,都是Main类型。
limaolinghu
2009-09-30
打赏
举报
回复
[Quote=引用 2 楼 niceox 的回复:]
比如说这段
Main::Main(QGraphicsScene& c, QWidget* parent, const char* name, Qt::WindowFlags f) :
Q3MainWindow(parent,name,f),
canvas(c)
{
editor = new FigureEditor(canvas,this); //1
QMenuBar* menu = menuBar();
Q3PopupMenu* file = new Q3PopupMenu( menu );
menu->insertItem("&File", file);
//file->insertItem("&Fill canvas", this, SLOT(init()), Qt::CTRL+Qt::Key_F);//2
file->insertItem("&Erase canvas", this, SLOT(clear()), Qt::CTRL+Qt::Key_E);
file->insertItem("&New view", this, SLOT(newView()), Qt::CTRL+Qt::Key_N);
}
1,2处的this 一样吗
都指向谁
[/Quote]
一样,都指向当前Main的实例
acdbxzyw
2009-09-30
打赏
举报
回复
而且this指針不能被修改,謹記
HelloDan
2009-09-30
打赏
举报
回复
Main
pengzhixi
2009-09-30
打赏
举报
回复
建议看看书上是怎么讲this指针的
reazn
2009-09-30
打赏
举报
回复
写在那个对象里就是指的那个
thy38
2009-09-30
打赏
举报
回复
指向你所在的对象。如果LZ是想得到this指针的对象信息,要用运行时:
type_id(this).name
幽雾
2009-09-30
打赏
举报
回复
比如说这段
Main::Main(QGraphicsScene& c, QWidget* parent, const char* name, Qt::WindowFlags f) :
Q3MainWindow(parent,name,f),
canvas(c)
{
editor = new FigureEditor(canvas,this); //1
QMenuBar* menu = menuBar();
Q3PopupMenu* file = new Q3PopupMenu( menu );
menu->insertItem("&File", file);
//file->insertItem("&Fill canvas", this, SLOT(init()), Qt::CTRL+Qt::Key_F);//2
file->insertItem("&Erase canvas", this, SLOT(clear()), Qt::CTRL+Qt::Key_E);
file->insertItem("&New view", this, SLOT(newView()), Qt::CTRL+Qt::Key_N);
}
1,2处的this 一样吗
都指向谁
glacier3d
2009-09-30
打赏
举报
回复
在哪个对象里用this,那就指向哪个对象
C++中的this
指
针
总结
什么是this
指
针
? this
指
针
本质上是一个成员函数的形参,对象调用成员函数时,将对象地址作为实参传递给this形参,所以对象中不存储this
指
针
this
指
针
的特性 1.this
指
针
的类型:类类型* const 2.只能在“成员函数”的内部使用 3.this
指
针
本质上是一个成员函数的形参,对象调用成员函数时,将对象地址作为实参传递给this形参,所以对象中不存储this
指
针
4.this
指
针
是成员函数第一个隐含的
指
针
形参,一般情况下由编译器ECX寄存器自动传递,不需要用户传递 3.this
指
针
存在哪里
父类方法中使用this,那么这个this
指
的是谁?
父类方法中使用this,那么这个this
指
的是谁? 子类继承父类,创建几个子类对象。 父类中的this并不是
指
向子类或者父类的对象,而是 这时子类和父类在内存中的连续内存的首地址相同,所以父类中的this和子类中的this的值是一样的,但是类型不一样。 所以如果父类和子类具有相同的a成员变量,那么父类this.a打印的是父类的a的值 子类this.a打印的是子类a的值。
C++-------什么是this
指
针
?this
指
针
详解
1. this 是一个
指
针
,里面放置的是当前对象的地址(成员函数执行时,调用该成员函数的对象) this
指
针
是类“成员函数”第一个隐藏的参数,该
指
针
指
向调用成员函数的对象(当前对象) 2. this
指
针
的特性 (1) 只能在成员函数中使用 (2) this
指
针
的类型:类类型* const (3) this
指
针
没有存储在对象中,因此不会影响对象的大小,而是在成员函数运行时,时时刻刻
指
向当前对象 (4) this
指
针
是“成员函数”第一个隐藏的参数,“隐藏的”—用户在实现成员函数时,不用显式给出,该参数是编
this
指
针
到底存放到哪里
那么C++中类成员函数是如何知道哪个对象调用了它?并正确显示调用它的对象的数据呢? 当一个对象调用某成员函数时会隐式传入一个参数, 这个参数就是this
指
针
。this
指
针
中存放的就是这个对象的首地址。 这和C中通过向函数传递结构体变量的地址是不是很像?只是传参形式不一样罢了! 在C中我们是手工把结构体变量和函数关联起来的,而C++则是编译器帮我们把类数据和成员函数关联起来的并通过名称粉碎和编译...
QT中的this
指
针
什么意思?namespace又是什么意思?
初学者对于qt中的this
指
针
会摸不着头脑,下面我谈谈自己的理解。结论:this
指
针
,
指
的就是qt designer里面ui界面,也就是xxx.ui文件。举个例子。现在我有三个文件,分别是server.h头文件,server.cpp源文件,还有server.ui文件。在server.h文件里我定义了一个类server,它继承自QWidget。在private:里定义了一个server类的ui文件,...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章