0

假设我有一个简单的控制台程序,如下所示:

(还没有测试它,它可能包含错误,因为我是一个新手)

#include <iostream>
using namespace std;
void startProgram();

int main(){
a = 20; //I want to somehow set this so that I can use it in any other function
//without passing it through like startProgram(a);

startProgram();
return 0;
}

void startProgram(){
cout << a << endl;
}

所以......我该如何做才能改变'a'的值或打印它或做任何事情而不将它传递给每个函数?

对不起,如果已经有这样的问题,我不怀疑,但我找不到任何问题!

提前致谢!

4

1 回答 1

1

实际上只有两种方法:全局变量或参数传递。

如果您将变量声明为全局变量,即在任何函数之外(和之前)的全局范围内,那么所有函数都可以使用它。但是,应尽可能少使用全局变量。相反,我真的建议您将其作为参数传递,如果其他函数稍后需要使用该变量,则继续将其作为参数传递。

或者,当然,既然您使用的是 C++,为什么不定义一个类并使变量成为该类的成员呢?然后你可以把所有相关的函数放在这个类中,并且所有人都可以使用该变量,而无需将其设为全局变量或将其作为参数传递。

于 2013-05-12T04:02:29.447 回答