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,或者讲解一下怎么操作也成。。。谢谢了! 展开
我们建立了一个控制台程序的工程,工程名叫test,添加test.cpp和test.h两个文件,main函数放在test.cpp中,然后我们在工程中又添加了一个头文件data.h和一个源文件data.cpp,在这两个文件中,我们定义了一些变量、函数、类等……
我想问下,在test.cpp中包含头文件data.h后,为了访问到data.h和data.cpp里面的这些数据(变量、函数、类),应该做什么样的修改?
最好能够建立个示例工程,发到我邮箱346933482@qq.com,或者讲解一下怎么操作也成。。。谢谢了! 展开
2个回答
展开全部
将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.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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询