C++中怎么去访问自己添加到工程的文件中的函数、变量、类等

举个例子:我们建立了一个控制台程序的工程,工程名叫test,添加test.cpp和test.h两个文件,main函数放在test.cpp中,然后我们在工程中又添加了一个头... 举个例子:
我们建立了一个控制台程序的工程,工程名叫test,添加test.cpp和test.h两个文件,main函数放在test.cpp中,然后我们在工程中又添加了一个头文件data.h和一个源文件data.cpp,在这两个文件中,我们定义了一些变量、函数、类等……
我想问下,在test.cpp中包含头文件data.h后,为了访问到data.h和data.cpp里面的这些数据(变量、函数、类),应该做什么样的修改?
最好能够建立个示例工程,发到我邮箱346933482@qq.com,或者讲解一下怎么操作也成。。。谢谢了!
展开
 我来答
oolgloo
2011-06-02 · TA获得超过2636个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:665万
展开全部
将data.cpp中全局变量、函数、类的声明放到data.h!!

示例:
/*data.h*/
#ifndef __DATA_H
#define __DATA_H
int g_MyData = 0;
void func1(int n);
class abc {
//...
};

/*data.cpp*/
#include "data.h" //包含头文件
void func1(int n)
{
//实现..
}

/*test.cpp*/
#include "data.h" //包含头文件
void main()
{
func1(5); //调用..
}
更多追问追答
追问
data.obj : error LNK2005: "int g_MyData" (?g_MyData@@3HA) already defined in test.obj
Debug/test.exe : fatal error LNK1169: one or more multiply defined symbols found
追答
Sorry,失误了!
/*data.h*/
extern int g_MyData;
/*data.cpp*/
int g_MyData = 0; //全局
/*test.cpp*/
直接引用g_MyData
#include "data.h"
void main()
{
printf("%d", g_MyData);
}
panweiy
2011-06-02 · TA获得超过1239个赞
知道大有可为答主
回答量:760
采纳率:0%
帮助的人:724万
展开全部
把他们设为可跨文件使用的全局变量
更多追问追答
追问
这样是不行的,不然我就不会来提问了~~~你可以自己试一下。。。
追答
用 extren 不行吗?你试过了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式