作用哉 类 全局变量 存储 传值 (我永远的痛)

tan625747 2009-12-31 03:41:13
程序结构
a.cpp
#include "c.h"
#include "start.h"
#include "cla.h"

C c;
main()
{
switch()
{
case A:
Fun();
case B:
c.Funa();//比如在这里打印随机产生的m值吗
}


start.h
void Fun();


start.cpp
#include "start.h"

void Foun()
{
int m=0;
m=rand()%10;//随机产生一个数
}


cla.h
class C
{
public:
void Funa();
};


cla.cpp
#include "cla.h"

void C::Fun()
{
int i=0;
i=m//要为start.cpp 产生的随机数。 怎么得到?

}


怎么把随机产生的m值传过来?
...全文
145 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tan625747 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mstlq 的回复:]
start.h
C/C++ codevoid Fun();externint ret;


start.cpp
C/C++ code#include"start.h"int ret;void Foun()
{int m=0;
m=rand()%10;//随机产生一个数 ret= m;
}

cla.cpp
C/C++ code
#include"cla.h"
#include"start.h"void C::Fun()
{int i=0;
i=ret;//要为start.cpp 产生的随机数。 怎么得到?//打印i出来}

[/Quote]


你是谁?可以加为好友吗?
tan625747 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mstlq 的回复:]
start.h
C/C++ codevoid Fun();externint ret;


start.cpp
C/C++ code#include"start.h"int ret;void Foun()
{int m=0;
m=rand()%10;//随机产生一个数 ret= m;
}

cla.cpp
C/C++ code
#include"cla.h"
#include"start.h"void C::Fun()
{int i=0;
i=ret;//要为start.cpp 产生的随机数。 怎么得到?//打印i出来}

[/Quote]
呵,我也是那样想过,实际上在
#include "start.h"
[c++ code]
RECT rect;
POINT point;
[/c++ code]
其实这些变量已在start.cpp其它函为用到了

如果像3楼所说,就会对  RECT rect;POINT point; 等产生
error LNK2005 错误


所以就跑到这里来问了。
tan625747 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mstlq 的回复:]
当然,1楼的解决思路比我的好多了……
[/Quote]

呵呵,这只是把问题简单化的结果 ,实际不是这样的,程序模型吧,那些函数所在的文件,不能乱放的。
mstlq 2009-12-31
  • 打赏
  • 举报
回复
当然,1楼的解决思路比我的好多了……
mstlq 2009-12-31
  • 打赏
  • 举报
回复
start.h
void Fun();
extern int ret;



start.cpp
#include "start.h"
int ret;
void Foun()
{
int m=0;
m=rand()%10;//随机产生一个数
ret = m;
}


cla.cpp

#include "cla.h"
#include "start.h"
void C::Fun()
{
int i=0;
i=ret;//要为start.cpp 产生的随机数。 怎么得到?
//打印i出来
}

mstlq 2009-12-31
  • 打赏
  • 举报
回复
看来,用全局变量是其中一个办法……
昵称很不好取 2009-12-31
  • 打赏
  • 举报
回复

int Foun()
{
return rand()%10;//这里返回
}

void C::Fun()
{
int i=0;
i=Foun()//这里调用
}

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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