2013-12-10 8 views
0

Я делаю проект C++ с main.cpp, который имеет основную функцию, а затем заголовочный файл header.h и файл cpp program.cpp, который имеет методы класса в Это. Поэтому я хотел спросить, есть ли способ объявить переменную, которую я буду использовать в main.cpp, и методы могли бы прочитать ее в program.cpp?Переменная C++, которая может быть использована в любом файле проекта

+3

Возможно, вы не должны этого делать: см. [C++ faq] (http://www.parashift.com/c++-faq/global-vars.html) –

ответ

4

Да.

Посмотрите ключевое слово extern в своей книге на C++.

+1

Также подумайте о том, чтобы не делать этого. Это называется глобальной переменной, и по мере того, как программа растет, глобальные круги становятся легко злоупотребляемыми и становятся источником ошибок, делают тестирование сложнее и т. Д. ... – teroi

+0

Здесь вы найдете глобальную полицию –

2

Глобальные переменные не рекомендуется вообще, но вы можете сделать это просто следующее в файле заголовка:

extern my_global_type myGlobal; 

вы определите myGlobal в main.cpp как:

my_global_type myGlobal = \* some init value *\; 

и просто использовать он находится в program.cpp, включив заголовок с вышеуказанным extern. Вы можете сделать это немного менее глобальным (но не избавиться от всех проблем), поставив myGlobal в namespace.

Смежные вопросы