this的作用?

devilwind 2002-09-10 07:42:28
在BC中,this 充当什么角色?
...全文
112 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuilin2002 2002-09-11
  • 打赏
  • 举报
回复
当然是Button1Click了
yangguo_god 2002-09-11
  • 打赏
  • 举报
回复
前面都说得很清楚了
Libran 2002-09-11
  • 打赏
  • 举报
回复
当前对象是指什么,就这个例子?

Form1
devilwind 2002-09-10
  • 打赏
  • 举报
回复
当前对象是指什么,就这个例子?
kingcaiyao 2002-09-10
  • 打赏
  • 举报
回复
这是基本的C++ 问题,this是当前对象的指针.
devilwind 2002-09-10
  • 打赏
  • 举报
回复
那这里的THIS
void __fastcall TForm1::NMPOP31ConnectionRequired(bool &handled)
{
AnsiString BoxMsg;
AnsiString BoxCaption;
BoxMsg="Connect Required.Connect?";
BoxCaption="Connect Required";
if(MessageBox(0,&BoxCaption[1],&BoxMsg[1],MB_YESNO+MB_ICONEXCLAMATION)==IDYES)
{
handled=true;
Form1->Button1Click(this);
}
}
Libran 2002-09-10
  • 打赏
  • 举报
回复
从CB帮助里翻译的,不知道翻的合不合适:

语法:
class X {

int a;
public:

X (int b) {this -> a = b;}
};

描述:
在非静态成员函数内,关键字this是一个指向调用该函数的对象的指针。所有对非静态成员函数的调用将this作为一个隐含的参数传递。

this是一个在任何非静态成员函数体内部可见的局部变量。在成员的函数内部隐式使用。在一个函数定义内,它不需被声明并很少被显式引用。

例如,在调用x.func(y)时,其中y是X的成员,关键字this被置为&x,而y被置为this->y,相当于x.y。

静态成员函数没有一个this指针,因为它们是被无法预料的对象调用。因此,一个静态成员函数不能访问非静态成员除非用.或->显式指定一个对象。
勉励前行 2002-09-10
  • 打赏
  • 举报
回复
怎麼回事? 
this 是指向哪裡的?this的作用是什麼?這個問題還是看一下書吧。我試著說一下,但還是書上說的好。
this並不是指向Owner的指針。對於TForm類來說,指向TForm類的一個實例。
一個類的this 指針,指向本身。this的作用是什麼?
有了this
1、可以分清同一個類中的不同實例,如常用的一句if(Sender == this ) ...
if(Sender == Edit1 )...
2、得以實現OO中的繼承與多態...沒有this,實現OO不敢想像
3、this這個概念是支持面向對象的編程語言才有的東西,在Delphi中它叫"Self",Basic ,C 中沒有這種概念。這也是一個語言是否支持OO編程的一個標志,類中有了this,編譯器就有了實現OO編程的資本。

//說得不對,還望指正。
ThinkX 2002-09-10
  • 打赏
  • 举报
回复
看看C++吧!
Libran 2002-09-10
  • 打赏
  • 举报
回复
指向拥有者(Owner)的指针
annkie 2002-09-10
  • 打赏
  • 举报
回复
一般指向Form本身。
aawolf 2002-09-10
  • 打赏
  • 举报
回复
代表当前类的指针呀

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧