如何在多个函数中使用变量?

时间:2013-05-12 03:51:50

标签: c++ function variables parameter-passing user-defined-functions

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

(尚未对其进行测试,因为我是新手而可能包含错误)

#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'的值或打印它或做任何事情而不将其传递给每个函数?

抱歉,如果有这样的问题,我不怀疑,但我找不到任何问题!

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

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

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