|
51 Я объявил переменную в Unit2.cpp, как мне предоставить к ней доступ в Unit1.cpp?
Есть два решения :
Первое решение:
в h-файле только сделать объявление
extern const int n;
extern double X[];
extern double Y[];
В cpp-файле проининциализировать
const int n = 10;
double X[n] = {200,212,211,212,203,194,194,188,196,190};
double Y[n] = {49, 40, 41, 46, 52, 59, 53, 61, 55, 64};
Второе решение ( нестандартное, но изящное) позволяет инициализировать прямо в h-файле:
Для этого используем расширения Builder. Все оставляешь как есть, но добавляешь extern и __declspec(selectany)
extern const __declspec(selectany) int n = 10;
extern __declspec(selectany) double X[n] =
{200,212,211,212,203,194,194,188,196,190};
extern __declspec(selectany) double Y[n] = {49, 40, 41, 46, 52, 59, 53, 61,
55, 64};
И последнее: использование глобальных переменных в С++ не одобряется.Если есть необходимость их использования, лучше обернуть их в класс(паттерн Singlenton)
Вячеслав Ермолаев
Предыдущий вопрос
|
|
Следующий вопрос
источник
by jenyok
|
|
|