C++ CPP文件和头文件应该放什么内容

同一个工程下,假如我在a.h里声明了一个函数voida()然后在a.cpp里定义了这个函数voida(){//code}然后我需要在b.cpp里使用a这个函数,请问这3个... 同一个工程下,假如我在a.h里声明了一个函数void a()
然后在a.cpp里定义了这个函数void a(){//code}
然后我需要在b.cpp里使用a这个函数,请问这3个文件的#include(假如需要的头文件有stdio.h, mysql.h)到底该怎么写才能实现我要的功能,而且不会出现重复定义的情况?
谢谢
展开
 我来答
金色潜鸟
2013-04-08 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5509万
展开全部
如果你有头文件 a.h你用宏把它包起来,就不会出现重复定义。例如:#ifndef _INCL_A_H#define _INCL_A_H
这里是你原来的a.h的内容
#endif
你可以把宏加入a.h
-------
a.cpp 里 #include "a.h"
b.cpp 里 #include "a.h"
编译就没问题。
追问
我现在已经将
#include
#include
#include
#include
#include
这5行放到了a.h中,然后a.h中声明了一个MYSQL t;
然后我在a.cpp和b.cpp中都添加了#include "a.h",然后编译到link obj文件那一步的时候提示MYSQL类重复定义,请问下上面5行#include应该放到哪些文件中?
zhongjie326
2013-04-08 · TA获得超过169个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:97.7万
展开全部
这个很简单告诉你一个简单办法
c++程序文件建立后一般都有个 stdafx.h 文件
在这个文件里边声明可能重复定义的 头文件 比如 stdio.h, mysql.h
然后在你想要用到的.cpp文件开头声明 stdafx.h
注意声明位置

#pragma once
#include "targetver.h"
#define WIN32_LEAN_AND_MEAN
// Windows 头文件:
#include <windows.h>
#include <atlstr.h>
#include <WinDef.h>//在这些地方插入声明
#include <stdio.h>
#include <MMSystem.h>
#pragma comment(lib, "WINMM.LIB")
#include "include/ximage.h"
#ifdef DLL1_API
#else
#define DLL1_API extern "C" __declspec(dllexport)
#endif
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5748cb4
2013-04-08
知道答主
回答量:20
采纳率:0%
帮助的人:10万
展开全部
在b.cpp里只要#include "a.h"就可以了,头文件一般都是存放函数的声明,CPP文件里存放函数的实现。你已经做的很正确了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cossbow
2013-04-08 · TA获得超过697个赞
知道小有建树答主
回答量:798
采纳率:100%
帮助的人:218万
展开全部
b.cpp里面#include "a.h"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式