Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2017, 10:27   #11
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
Дальше философия ...
Вы про forward declaration прочитали?
waleri вне форума Ответить с цитированием
Старый 24.11.2017, 11:55   #12
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Вы про forward declaration прочитали?
Ага. Ничего концептуально нового там не увидел.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 27.11.2017, 00:33   #13
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Forward Declaration не спасает при добавлении новой нисходящей зависимости класса.
Так что либо я дурак, либо лыжи не едут. Скорее всего первое.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 27.11.2017, 01:09   #14
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Зря Вы прямо в декларации класса сделали реализацию методов.
Это и создало проблемы с forward declaration.
Проблема именно в том, что forward declaration не даёт возможности работать с членами класса - их в этот момент для компилятора ещё нет.
Black Fregat вне форума Ответить с цитированием
Старый 27.11.2017, 13:01   #15
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Black Fregat, ладно, а как заставить его видеть члены класса ?
А то получается, что сам класс он видит, а содержимое не хочет. Попытался потыкать по разному - вроде объявить хотя бы тот же конструктор (с параметрами). Синтаксис не проходит.

Я конечно могу распихать классы по файлам, но так не интересно, и не факт что у меня не будет всё тех же проблем с объявлением.
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 27.11.2017 в 13:11.
OmegaBerkut вне форума Ответить с цитированием
Старый 27.11.2017, 14:20   #16
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Сначала все декларации, потом реализации методов.
Их обычно даже по разным файлам разносят, *.h и *.cpp
Код:
ref class Game_Player; // это типа декларация

/* ... тут много говнокода ... */

ref class Game_Table // это игровой стол, а не таблица (в инглише это одно и тоже, судя по переводчику)
{
	/* ... */
	private: List<Game_Player^> ^players;

	private: void New_Game();

	/* ... */
}

ref class Game_Player
{
	/* здесь тоже есть обращения к классу Game_Player, но он уже сверху, и тут проблем нет (пока что, самый не проработанный класс =) ) */
	public: void TakeCard(/* здесь мне нужно эту карту принять со стола */);
	/* ... */
}

void Game_Table::New_Game()
{
	// в цикле
		players[index]->TakeCard(/* заранее согласованый объект карты */);
}

void Game_Player::TakeCard(/* здесь мне нужно эту карту принять со стола */);
{
	// бла-бла-бла
}
Black Fregat вне форума Ответить с цитированием
Старый 27.11.2017, 15:48   #17
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Сначала все декларации, потом реализации методов.
Их обычно даже по разным файлам разносят, *.h и *.cpp
Я правильно понял ... Ввиду отсутствия структуризации реализации методов, их желательно разнести по файлам (*.cpp) ?

UPD: раскидал реализации методов по регионам (#pragma region)
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 28.11.2017 в 15:41.
OmegaBerkut вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шаблонный массив объектов класса - C++ Андрей Иванов Помощь студентам 2 01.10.2015 17:07
Массив объектов класса. zipwind Общие вопросы C/C++ 8 01.05.2011 20:56
динамический массив объектов класса. С++ Шиншилка Помощь студентам 8 25.04.2011 17:58
Динамический массив класса Array emnm Общие вопросы C/C++ 0 21.12.2010 22:04
2-мерный динамический массив экземпляров класса. С++ Парсифаль Общие вопросы C/C++ 1 29.12.2009 14:35