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

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

Войти
Регистрация
Восстановить пароль
 
kzru_hunter
1090 / 765 / 58
Регистрация: 01.02.2011
Сообщений: 1,775
Записей в блоге: 1
#1

Создать класс, расширяющий существующий объект - C++

08.12.2013, 15:24. Просмотров 273. Ответов 3
Метки нет (Все метки)

Здравствуйте. Собственно, сабж. Не могу с ходу сообразить, как это сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 15:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс, расширяющий существующий объект (C++):

В C# создать объект, класс которого написан в C++ - C++
Надеюсь в правильную ветку пишу. Как можно получить из C# создать объект который написан в C++? К примеру есть класс #ifndef STOCK_H_ ...

Создать объект, класс которого указан в строке - C++
Привет всем. Уже давно ищу решение ниже изложенного вопроса и все никак. Задавал вопросы на других форумах, сам искал решение в интернете,...

Создать класс CMatrix, описывающий объект – действительные матрицы заданного размера - C++
Создать класс CMatrix (матрица), описывающий объект – действительные матрицы задан-ного размера NR (число строк)NC (число столбцов),...

Создать класс, в котором можно сохранить любой вызываемый объект или функцию - C++
Возникла идея создать класс, в котором можно сохранить любой вызываемый объект или функцию. Что то наподобие std::function, но только не...

Создать класс. Символьное поле должно быть задано как объект класса string - C++
решите задачку!) 6. Создать класс. Символьное поле должно быть задано как объект класса string. Написать конструктор по умолчанию,...

Создать объект стек и создать объект очередь с перегруженными операциями - C++
Помогите, пожалуйста с заданиями. 1. Унарная операция Создать объект стек, перегрузив ++ и -- (как постфиксными, так и префиксными)....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.12.2013, 15:28 #2
паттерн декоратор, не?))

Добавлено через 37 секунд
ну или можно просто отнаследоваться от класса и расширить его функциональность
kzru_hunter
1090 / 765 / 58
Регистрация: 01.02.2011
Сообщений: 1,775
Записей в блоге: 1
08.12.2013, 19:32  [ТС] #3
Цитата Сообщение от Кудаив Посмотреть сообщение
паттерн декоратор
первый раз слышу, почитаю

Цитата Сообщение от Кудаив Посмотреть сообщение
ну или можно просто отнаследоваться от класса и расширить его функциональность
Это я сделал, но как это корректно применить к существующему объекту (экземпляру класса)? Пока пришла мысль создать экземпляр расширенного (унаследованного от) класса TImage, в конструкторе которого просто копируем в него данные существующего объекта, а существующий объект удаляем. Но по идее констуктор должен только скопировать данные, а не удалять существующий объект.
У меня вот какая ситуация: на форму в дизайн режиме я бросил и настроил TImage, далее в runtime хочу расширить функциональность этого TImage и далее в коде эту функциональность использовать. Можно было бы в design режиме не создавать этот TImage, а сразу в runtime создавать расширенный TImage, но вот хочу ещё и так попробовать.
P.S. пытаюсь у себя в проекте всё упростить в плане использования (минимизировать путаницы, ошибки, лишний код).
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
08.12.2013, 19:55 #4
kzru_hunter, можно написать просто обертку. Т.е. будет ещё один класс, в котором одно из полей - указатель на экземпляр нужного вам класса. В этом созданном классе уже реализуете все, что нужно, используя указатель на тот класс.

C++
1
2
3
4
5
6
7
8
9
struct Wrapper
{
void sort()
{
printf("Оп-па! Сортируем из Wrapper!\n");
mc->sort();
}
MyClass *mc;
}
http://ru.wikipedia.org/wiki/Декорат...проектирования)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 19:55
Привет! Вот еще темы с ответами:

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... - C++
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

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

Создать класс - данные - абстрактный базовый класс. Создать производные классы - C++
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

Указатель на класс, создавший объект - C++
Добрый вечер! Возник следующий вопрос: Пусть есть 2 класса: class A { public: A(); ~A(); };


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.12.2013, 19:55
Ответ Создать тему
Опции темы

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