好吧,我是Python的C ++新手,不熟悉在头文件中声明变量。我试图创建几个.cpp文件,其中从一些相同的常量值集计算一些值。我的代码类似于:
/Global_input.h/
extern int y = 1;
extern int x = 2;
/Properties_1.cpp/
//I wanna calculate z = x + y
include<Global_input.h>
int z;
/Properties_2.cpp/
//I wanna calculate g = x*y
include<Global_input.h>
int g;
我被困在这里,我搜索的方式是创建一个新类或另一个.cpp文件。对于这种简单的情况,我可以直接调用x,y吗?提前致谢
答案 0 :(得分:1)
为此目的使用static const变量:
static const int x = 1;
此处的const
关键字可确保您的代码在任何时候都不会更改x(您声明其值应该是常量)。我建议您阅读以下SO帖子,以了解static
关键字的用途是什么:
答案 1 :(得分:1)
除了创建Global_input.h
之外,还要创建一个Global_input.cpp
文件,如下所示 -
/Global_input.h/
extern int y;
extern int x;
/Global_input.cpp/
#include "Global_input.h"
int y = 1;
int x = 2;
extern
只是声明变量没有定义它。你必须在其他地方定义它。
答案 2 :(得分:0)
你的my.h文件应具有以下格式:
//Put before anything else
#ifndef MY_H
#define MY_H
//code goes here
//at the end of your code
#endif
你的my.cpp文件应如下所示:
//include header file you wish to use
#include "my.h"
答案 3 :(得分:0)
你需要告诉编译器只读取一次标题,例如像这样:
/* Global_input.h */
#ifndef GLOBAL_INPUT_H
#define GLOBAL_INPUT_H
static const int y = 1;
static const int x = 2;
#endif
/* Properties_1.cpp */
//I wanna calculate z = x + y
#include<Global_input.h>
int z = x + y;
/* Properties_2.cpp */
//I wanna calculate g = x*y
#include<Global_input.h>
int g = x * y;