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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2010, 19:03   #1
Парсифаль
Форумчанин
 
Аватар для Парсифаль
 
Регистрация: 28.04.2009
Сообщений: 186
По умолчанию Конкурс на изощренность. Множественное наследование

Вы, ребята, программисты. Вам должна быть интересна следующая нестандартная задача, с которой я сегодня столкнулся и по-своему решил.
Предлагайте свои решения. Чекпоинт поставим 2 дня. Далее я дам свое решение.

Задачу поставлю по-общему.

Дано:
n классов (при этом n достаточно большое фиксированное число > 10).
Каждый класс представляет собой набор переменных членов (пускай, штук 5), разных типов, а может даже массивы, плюс методы доступа к этим переменным и методы изменения.

Вариант 1: Пользователь во время работы программы выбирает какие классы из этих n ему интересны.
Вариант 2: Пользователь во время работы программы выбирает какие ПЕРЕМЕННЫЕ классов из этих n ему интересны.


Задача:
Нам нужно для него сгенерировать НОВЫЙ КЛАСС с: вариант 1 - унаследованными возможностями выбранных классов; вариант 2 - с переменными, которые он выбрал.

Послезавтра приведу свое решение.
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott
Парсифаль вне форума Ответить с цитированием
Старый 09.02.2010, 15:51   #2
Корвин
Пользователь
 
Аватар для Корвин
 
Регистрация: 07.02.2010
Сообщений: 31
По умолчанию

Юзай стек и можешь заглянуть в нейиро сети, ну еще можно по идексирониям пробежаться.
(Это относительно повседневная задачка)
#define true false
У сверхпрограммы будут сверхглюки, ха-ха!
Корвин вне форума Ответить с цитированием
Старый 09.02.2010, 17:09   #3
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Класс включает в себя указатели на объекты, содержащие данные. Если какие-то данные не задействованы - соответствующий указатель нулевой.
ds.Dante вне форума Ответить с цитированием
Старый 09.02.2010, 17:21   #4
Корвин
Пользователь
 
Аватар для Корвин
 
Регистрация: 07.02.2010
Сообщений: 31
По умолчанию

И?
Код:
class _MClass{
public:
int* pObject;
_MClass(){
 this->pObject=NULL;
}
_MClass(int *pp){
this->pObject=pp;
}
};
Ну ставь проверку
Код:
_MClass mc;
if(mc.pObject1){
 /*Your actions*/
}
#define true false
У сверхпрограммы будут сверхглюки, ха-ха!
Корвин вне форума Ответить с цитированием
Старый 09.02.2010, 21:21   #5
_Ч_
Форумчанин
 
Регистрация: 07.01.2010
Сообщений: 141
По умолчанию

в с++ нельзя генерировать классы динамически. можно создавать обьекты каких-то классов, но генерировать класс и потом создавать обьект такого класса - такого не получится. Возможно и есть какие-то хаки, но они будут оставаться хаками. Написать все вожножные комбинации наследований - тоже не вариант, даже используя всякие там списки типов, boost::mpl и прочее.
_Ч_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Завихрения множественного наследования. (Динамическое множественное наследование) Парсифаль Общие вопросы C/C++ 10 09.02.2010 15:45
Проблема в программе на С++, множественное исполнение цикла Vikelf Помощь студентам 1 25.05.2009 09:31
Множественное наследование Crucian Общие вопросы Delphi 1 29.12.2008 14:26
Множественное перемещение в двух таблицах Arteom БД в Delphi 7 16.07.2008 16:59
конкурс программистов ! (первый конкурс) Alar Свободное общение 129 18.03.2007 00:50