请各位大侠帮助一个入门者,小弟先谢过了

wangfengyu 2004-08-03 04:10:39
在C++Builder的头文件中,我声明了一个函数如:void aa (int b);
然后在.cpp文件中定义该函数
TForm1::aa(int b)
{
ShowMessage(b)
}
现在的问题是:
只有当把函数定义成TForm1的成员函数时才成立,编译才能通过,如
果我定义为其它控件(如,Edit,Button,Memo等)的成员函数时,就
出错了!
请教各位大侠,我该如何在cBuilder中灵活自如的定义使用自己定义
的函数呢?
因为小弟我的基础很差,请各位大侠以实例详细教导,最好贴上代码?
                 小弟在此先谢过了
...全文
50 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yjy1001 2004-08-03
如果你是

void aa(int b)
{
ShowMessage(b);
}

定义函数,那么你就不需要在类里面声明该函数,而是在类外面声明,声明如下:
void aa(int b);

//------------------------------------------
如果你是这样书写函数,那么说明该函数为类成员,那么你应该在类中声明该函数
void __fastcall TForm1::aa(int b)
{
ShowMessage(b);
}
声明如下:
void __fastcall aa(int b);
你可以将它声明在类中任何地方,当然如果你想它是公共的,那么应该声明在__published中,
如果你希望他是私有的,则声明在private中。

唉,你应该多看点基础书先
回复
JetKingLau 2004-08-03
把函数声明(定义)放在 A.h 中,函数体放在 A.cpp 中,(当然,在 A.cpp 文件前面要#include "A.h"),如果在 B.cpp 需要用到 A.h 中定义的函数,则在 B.cpp 文件前面 #include "A.h",就可以引用了。

注意,在编译前记得将 A.cpp 添加到你的工程中。
回复
JetKingLau 2004-08-03
TForm1::aa(int b)
{
ShowMessage(b)
}

=>

void aa(int b)
{
ShowMessage(b)
}
回复
netsys2 2004-08-03
你也可以定义为其它控件(如,Edit,Button,Memo等)的成员函数,但是你必须从那些控件类中继承一个子类才行。

你之所以可以定义在主窗口中,是因为你的FORM1是从FORM中继承出来的。

而你的Edit,Button,Memo只是NEW出来的一个对象。
回复
相关推荐
发帖
C++ Builder
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
帖子事件
创建了帖子
2004-08-03 04:10
社区公告
暂无公告