读书人

如何处理count重定义

发布时间: 2014-01-22 14:50:12 作者: rapoo

如何避免count重定义
小弟正在写一个C++的派生类,头文件中定义变量,在其他代码中调用出现重定义现象,代码简化如下。
麻烦看下怎么改进,才能避免count重定义!3----q!
q.h


#ifndef _Q_H_
#define _Q_H_
#include <stdio.h>
int count=100;
#endif

a.h

#ifndef _A_H_
#define _A_H_
#include "q.h"
void print();
#endif

a.c

#include "a.h"
void print()
{
int num=count;
printf("count=%d\n",num);
}

z.h

#ifndef _Z_H_
#define _Z_H_
#include "a.h"
void printz();
#endif

z.c

#ifndef _Z_H_
#define _Z_H_
#include "a.h"
void printz();
#endif

w.h

#ifndef _W_H_
#define _W_H_
#include "a.h"
void printw();
#endif

w.c

#include "w.h"
void printw()
{
printf("____WWWW____%s\n",__func__);
print();
}

test.c

#include "w.h"
#include "z.h"
int main()
{
printz();
printw();
print();
}

[解决办法]

//dec.h
extern int a1, a2, a3, a4;

//dec.cpp
#include "dec.h"
int a1 = 1, a2 = 2, a3 = 3, a4 = 4;

//main.cpp
#include <iostream>
#include "dec.h"
int main()
{
std::cout << a1 << a2 << a3 << a4 << std::endl;
return 0;
}

忘记给dec.cpp加上#include "dec.h"了

读书人网 >C语言

热点推荐