不明白变量的作用域....

kingxing 2003-07-30 05:31:26
大家好,我用惯了vb,习惯了那种Public 的变量
不习惯bcb中的extern
写个程序,用了无数多的extern脑袋都大了
那位大侠可以详细的给我讲一下呢?谢谢了

还有就是如果我要定义一个类,在那里定义(这个类整个程序都要用到)
是在.h 还是 .cpp中呢?类的作用域定义呢?和变量一样吗?
...全文
76 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThinkX 2003-07-31
  • 打赏
  • 举报
回复
你没有习惯C++,总是用vb的思维方式去使用C++,当然不行了。
whitelion 2003-07-31
  • 打赏
  • 举报
回复
就是头文件里的public
新建一个form,看一下它的.h文件
liangqihui999 2003-07-30
  • 打赏
  • 举报
回复
在c++中,所有程序体内容一般都些在*.cpp文件中的,而为了解决早先于编译开销太大的原因,引入了*.h文件,在*.h文件中一般只有一些定义的文件或者一些常量的声明和付值,因为有的*.cpp可能复用其他cpp中的函数或者之对应的*.h中定义的 public类所以在应用前需要#include <*.h>文件相当于把*.h中的函数声明和对应*.cpp的函数体引入应用关联到程序中去,而对于public举个简单但不完全的例子就是其他的cppinclude 后可以访问这个的内容,而private的变量即使include 了也是不可以应用的(权利不够呀,私人财产别人概不外借)只有在自己定义的cpp中可应用,而对于extern我的理解是在不管在那里的地方声明的内容这个内容等同于在本地声明的应用方式,当然在本域内重复声明同一个变量时,认定两个变量,且本地变量声明优先应用,clear点了没?也不知我说清了没有用不1?
kingfish 2003-07-30
  • 打赏
  • 举报
回复
class A
{
public:
int nA;
};

class B
{
private:
int nB;

void f()
{
A *a = new A;
nB = a->nA; //!!!
}
};

Form也一样,
在Form1中
#include "unit2.h"

int a = Form2->memberVal; //使用Form2中得public成员变量
kingxing 2003-07-30
  • 打赏
  • 举报
回复
请您讲讲Public,谢谢!
kingfish 2003-07-30
  • 打赏
  • 举报
回复
你也可以public啊

extern只是针对全局变量或外部函数
kingxing 2003-07-30
  • 打赏
  • 举报
回复
不太明白,麻烦您再说说,谢谢!
zihan 2003-07-30
  • 打赏
  • 举报
回复
说不清楚,不过你不一定要用extern,你吧你的变量写在你的类的public里面,就跟vb的public一样,不过不同的是要引用那个东西的头文件.一般是在头文件里面定义一个类,然后其他单元只要引用了这个头文件,就可以直接用了,跟用过变量有点不同

13,826

社区成员

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

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