Using the same variable across multiple files in C++

In the process of changing some code, I have spilt some functions into multiple files. I have the files controls.cpp and display.cpp and I would like to be able to have access to the same set of variables in both files. I don't mind where they are initialized or declared, as long as the functions in both files can use them.

This was not an issue when the functions were in the same file, but now it seems almost impossible after an hour of googling and trying various things.

7
задан quamrana 15 July 2012 в 18:20
поделиться

4 ответа

Определите переменную в одном файле, например:

type var_name;

И объявите ее глобальной в другом файле, например:

extern type var_name;
17
ответ дан 6 December 2019 в 06:23
поделиться

Создайте два новых файла:

  1. Что-то вроде Globals.h и объявите все переменные как: extern имя типа;
    • btw помните о включенных защитах.
  2. Что-то вроде Globals.cpp и объявить переменные типа: type name;

Затем добавьте #include "Globals.h" в начало:

  • Globals.cpp
  • controls.cpp
  • display.cpp

Затем вам могут понадобиться функции для их инициализации.

4
ответ дан 6 December 2019 в 06:23
поделиться

используйте те переменные как extern т.е.

extern int i;

в другом файле объявить то же самое, что и обычная глобальная переменная ...

int i;//global
6
ответ дан 6 December 2019 в 06:23
поделиться

Все объявления, которые вы хотите видеть в нескольких единицах компиляции (файлы .cpp), должны быть помещены в файл заголовка, который вы включаете во все места, где необходимо используйте переменную, тип, класс и т. д.

Это намного лучше, чем extern, который, по сути, скрывает ваше намерение поделиться объявлением.

-1
ответ дан 6 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: