Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539
#1

Глобальные объекты и функции - C++

10.10.2011, 22:28. Просмотров 708. Ответов 9
Метки нет (Все метки)

Здравствуйте, не подскажите можно ли иметь глобальные объекты и функции, к которым можно обратиться во всех частях проекта, пусть даже друг от друга не зависимых, типа есть заголовочный файл с классом, этот класс ничего не знает о том где и как он будет использоваться, но из него можно будет вызвать некую глобальную функцию из main
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2011, 22:28     Глобальные объекты и функции
Посмотрите здесь:

Что такое глобальные и локальные объекты класса? - C++
Что такое глобальние и локальные обекты класа. Напишыте пожалуста с примерами.

Глобальные функции и методы - C++
Какая разница между глобальными функциями и методами? Если можете напишите прототип или пример таких функций. Спасибо)

Глобальные переменные в функции - C++
Подскажите плиз, а можна ли глобальную переменную обявить как то в функции?

Глобальные функции и структуры - C++
Задание: Создайте структуру ,содержащую одну переменную типа int , и две глобальные функции , каждая их которых получает указатель на...

Локальные, глобальные переменные и функции - C++
Есть массив типа char. char b; Он заполнен нулями и единицами. b находится в main. Нужно вывести на консоль b в ф-ции main, но уже в...

Глобальные функции, найти ошибки в коде - C++
Стал разбирать глобальные функции и все программы отладил и откомпилировал, но эту не как и разные конструкции пробовал: #include...

функции объекты - C++
Здорова! От есть код для подсчета суммы элементов в последовательности но почему то ноль выводится. #include <iostream> using...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nikola166
8 / 8 / 0
Регистрация: 18.03.2010
Сообщений: 142
10.10.2011, 22:34     Глобальные объекты и функции #2
а зачем вам такой монстр?
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
10.10.2011, 22:38     Глобальные объекты и функции #3
да, а в чем проблема?
C++
1
2
3
4
// 1.cpp
int f() { return 1; }
int g_var = 10;
std::vector<int> vec;
C++
1
2
3
4
// 1.h
int f();
extern int g_var;
extern std::vector<int> vec;
C++
1
2
3
4
5
//2.cpp
#include "1.h"
...
vec.push_back(g_var = f());
...
Добавлено через 39 секунд
только с инициализацией глобальный объектов часто возникают сложности
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539
10.10.2011, 22:45  [ТС]     Глобальные объекты и функции #4
Мне как раз-таки нужно противоположное, нужно что бы можно было в 1 использовать функции/объекты объявленные в 2, при том что 1 как и у вас в примере будет включаться в 2, но не наоборот
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
10.10.2011, 22:46     Глобальные объекты и функции #5
мне переименовать 1 в 2 и наоборот?
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539
10.10.2011, 22:53  [ТС]     Глобальные объекты и функции #6
Нет, вы немножко непоняли
someClass.h
C++
1
2
3
4
5
6
7
class someClass{
void coutIt();
}
void someClass::coutIt()
{
cout << getIt();
}
main.cpp
C++
1
2
3
4
5
6
#include "someClass.h"
extern int getIt() {return 5;}
int main()
{
return 0;
}
То есть мне нужно что бы из класса someClass можно было обратиться к функции getIt() объявленной глобально, но этот код не работает, пишет неверный идентификатор
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
10.10.2011, 22:57     Глобальные объекты и функции #7
someclass.h
C++
1
2
3
4
5
6
7
8
9
int getIt();
 
class someClass{
void coutIt();
}
void someClass::coutIt()
{
cout << getIt();
}
C++
1
2
3
4
5
6
7
#include "someClass.h"
int getIt() {return 5;}
 
int main()
{
return 0;
}
hijacker7
19 / 19 / 1
Регистрация: 06.10.2011
Сообщений: 53
10.10.2011, 22:58     Глобальные объекты и функции #8
Цитата Сообщение от hepr Посмотреть сообщение
То есть мне нужно что бы из класса someClass можно было обратиться к функции getIt() объявленной глобально, но этот код не работает, пишет неверный идентификатор
Правильно пишет, функция должна быть объявлена в файле somaClass.h, или нужно поключить заголовочный файл, в котором она объявлена
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
10.10.2011, 22:59     Глобальные объекты и функции #9
читайте объявление/определение функций
и да
по-хорошему класс нужно разделить на .cpp и .h
а объявление функции (int getIt(); ) вынести в отдельный хедер, который включить в someClass.cpp
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2011, 23:05     Глобальные объекты и функции
Еще ссылки по теме:

Объекты-функции - C++
Товарищи программисты, кто-нибудь знает, что такое объекты-функции? И если несложно, можно пример работы объекта-функции с массивом?

Динамическая память. Функции. Массивы .Объекты - C++
Всем привет. Возник следующий вопрос: 1.Когда в c++ из функции возвращается объект (экземпляр какого-то класса), то насколько мне...

Шаблон функции, принимающей обычные массивы и объекты - C++
Нужно чтобы функция одинаково хорошо принимала массив long и объект vector &lt;string&gt;, чтобы затем удалить повторяющиеся элементы,...

Ссылки на объекты в функции с не заданным типом переменных - C++
Как правильно передавать ссылки на объекты в функции с не заданным типом переменных и возможно ли это? Для общего случая я это...

callback функции и функциональные объекты в качестве параметров - C++
Всем привет. В STL есть алгоритмы, которые требуют наличия функционального объекта, например sort, а некоторые алгоритмы, такие как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539
10.10.2011, 23:05  [ТС]     Глобальные объекты и функции #10
Спасибо за помощь!
Yandex
Объявления
10.10.2011, 23:05     Глобальные объекты и функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru