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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.11.2008, 08:44   #1
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию проблемы с композицией классов

Подскажите, пожалуйста, у меня проблемы с композицией классов.
Код:
/*композиция уровня*/
class game::level {
	
//code…

protected:
typedef vector<object*> vectorOfObjects;
	vectorOfObjects objects;

	class levelEditor;	//редактор уровня полное определение где-то ниже…
	class levelFile;		//загрузка / сохранение…

	levelEditor* 	editor;
	levelFile*	file;
	
//code…
};
В *editor и *file надо организовать доступ к objects. Как это можно сделать?
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but
rather how many batches/frame!
.pixel вне форума
Старый 14.11.2008, 10:52   #2
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Все, всем спасибо за ваше безмолвие. Своим умом дошел... пришлось, правда, немножко перестроить все... описания вынести… а ссылку передавать через конструктор.
Набросок…
Код:
class game;
class level;
class levelfile;
class leveldata;

class leveldata {
public:
	int check;
};

class levelfile {
private:
	leveldata* pdata;
public:
	levelfile( leveldata* _leveldata ) : pdata(_leveldata) {} ;
	void save(const char*) ;
	void load(const char*);
	~levelfile() { pdata=0; };
};

class level {
	leveldata* data;
public:
	levelfile* file;
	level() { file=new levelfile(data);  };	
	~level() { delete file; };
};

class game {	
public:
	level* runinglevel;
	game() { runinglevel=new level(); } ;
	void loadlevel(const char*);
	void end();
	~game() {delete runinglevel; };
};
И все ради такого рода гибкости в коде:
Game mygame;
mygame.runinglevel->file->save("1.txt");


Зы: управители судеб post’овских можете прикрывать темку.
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but
rather how many batches/frame!
.pixel вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
агрегирование классов M_Yuri Общие вопросы Delphi 3 12.02.2008 18:31
использование множества классов studenth Общие вопросы C/C++ 5 08.11.2007 14:57
Проблемы с иерархией классов NecroSlider Помощь студентам 2 15.04.2007 21:57
экспорт классов из Dll Alar Общие вопросы Delphi 0 29.10.2006 21:53