我目前正在学习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。
我想知道:从其他文件访问变量的其他方法是什么?你什么时候使用哪种方法(以及为什么)?
答案 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;
}