您何时使用哪种方法从另一个文件中获取变量?

时间:2018-02-27 11:37:11

标签: c++ variables reference

我目前正在学习C ++,并发现使用其他文件中定义的变量至少有两种方法。但是我真的不明白,何时使用什么方法。

例如: 我写了" h1.h":

unique

和" a2.cpp"写道:

extern int k;

然后我可以在main.cpp中引用k:

#include "a2.h"
#include "h1.h"

int k = 42; 
int k2 = 43;

但是如果我想在main.cpp中使用k2,我可以简单地编写一个getter / setter方法,从而避免在常见的包含头文件中使用extern。

我想知道:从其他文件访问变量的其他方法是什么?你什么时候使用哪种方法(以及为什么)?

1 个答案:

答案 0 :(得分:0)

您将k公开为函数,或者根本不公开,而不是变量。

“h1.h”:

int k();
void k2(int &);

“h1.cpp”:

int k() { return 42; }
void k2(int & value) { value = 43; }

“的main.cpp”

#include "h1.h"
#include <iostream>

int main () {
    std::cout << k() << std::endl;
    int any_name;
    k2(any_name);
    std::cout << any_name << std::endl;
}