首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

如何处理count重定义

2014-01-22 
如何避免count重定义小弟正在写一个C++的派生类,头文件中定义变量,在其他代码中调用出现重定义现象,代码简

如何避免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"了

热点排行