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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2008, 23:27   #1
Apolon
Новичок
Джуниор
 
Регистрация: 24.11.2007
Сообщений: 1
Подмигивание Помогите написать прогу! Please!!!

Таблица данных произвольных типов в памяти.

Необходимо разработать интерфейс для объединения в структуру данных множества объектов различных классов - абстрактный базовый класс объектов object, для которого предусмотреть виртуальные методы: загрузки объекта из текстовой строки, выгрузки объекта в текстовую строку в динамической памяти, добавления объекта в последовательный двоичный файл, чтения объекта из последовательного двоичного файла, возврата уникального идентификатора класса, возврата указателя на строку с именем класса, сравнения двух объектов, “сложения “(объединения) двух объектов, создание динамической копии объекта. Сделать классы хранимых объектов производными от абстрактного базового класса object.
Необходимо предусмотреть создание заголовка таблицы со столбцами объектов выбранных типов, добавление, удаление, редактирование строк, сортировку по любому столбцу, сохранение и загрузку таблицы (структуры и содержимого) в текстовом файле.

Заранее благодарен!
Apolon вне форума Ответить с цитированием
Старый 15.03.2008, 00:17   #2
alexx777
Пользователь
 
Регистрация: 20.02.2008
Сообщений: 75
По умолчанию

Чтобы создать класс, который хранит множество объектов разных типов, можно сделать так:

- Добавляемые в коллекцию объекты будут копироваться в динамическую память.
- В классе будут храниться указатели типа void на эти обьекты.
- Обьекты добавляються с помощью шаблонного метода:
Код:
template <class T>
void add(T elem){
 T* pointer = new T(elem);
 pointers.push_back(static_cast<void*>(pointer)); // Добавляем указатель на объект в вектор.
}
- Обращение осуществляется с помощью оператора индексирования.
Код:
template<class T>
T& operator[](int pos){
 return static_cast<T*>(pointers[pos]);
}
alexx777 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите написать прогу для решения СЛУ kitty Помощь студентам 4 24.06.2008 18:35
Помогите написать прогу на Pascal Paul VEGA Паскаль, Turbo Pascal, PascalABC.NET 3 14.06.2008 13:54
Помогите написать прогу!Среди заданных целых чисел k, l, m найти пары кратных.Написать по проще чемЭесть vdv08 Паскаль, Turbo Pascal, PascalABC.NET 4 04.04.2008 16:56
Помогите пожалуйста написать прогу Juhn Паскаль, Turbo Pascal, PascalABC.NET 9 23.12.2007 22:02