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

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

Войти
Регистрация
Восстановить пароль
 
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 605
#1

Увеличение функциональности без использования наследования. Как? - C++

01.01.2013, 11:07. Просмотров 331. Ответов 2
Метки нет (Все метки)

Добрый день.
Можно ли как-нибудь еще увеличить функциональность своего класса без использования наследования?
Делаю свой класс А, в нем хочу реализовать несколько фич класса B. Сам я эти фичи написать не могу, т.к. не знаю, как они делаются, да и зачем изобретать велосипед. Ради каких-то нескольких функций наследовать класс B не хочу.
Что можете посоветовать? Может хитрости какие есть?

Знаю один вариантов. В своем классе создать объект класса B и через него использовать нужные функции. Круто, но это прокатит только с public членами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.01.2013, 11:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Увеличение функциональности без использования наследования. Как? (C++):

А как добавить класс в содержимое без наследования и тп? - C++
Задача по теме: Объекты и классы. "Расширьте содержание класса employee из упражнения 4, включив в него класс date." Класс...

Как обойти массив без использования цикла - C++
С помощью рекурсии

Как переписать код без использования set? - C++
template <class T> // шабло обработки данных array<char> array<T>::proceed() { std::set<char> set; // старый ...

Как написать генератор чисел без использования стандартных функций? - C++
Нужно написать программу генерирования равномерно распределенных случайных чисел без использования стандартных функций rand и т.д. Помогите...

Как в Visual Studio писать на чистом C++ без использования фреймворка? - C++
Вообщем читал я Зиборова программирование под Визуал студио 2010 в среде .NET И тут понял что мне Выплеснули ведро говна в лицо это не...

Как узнать имя проекта dll без использования GetModuleFileName? - C++
Всем привет. Есть еще варианты узнать имя проекта (или самой dll) без использования GetModuleFileName? Ищу второй вариант на...

2
Байр
15 / 15 / 1
Регистрация: 09.12.2011
Сообщений: 64
01.01.2013, 11:58 #2
Тоесть вы хотите "частично" унаследовать класс? Лично я никогда о таком не слышал. Концепция ООП - это когда любой наследник имеет полный функционал клааса предка, + свой собственный.
Цитата Сообщение от [progeR
Круто, но это прокатит только с public членами.
Смотря члены с каким идентификатором нужны. Если нужны ещё и Protected, то только наследование. А вот если private. то только friend классы. Так что от наследовния не уйти)
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
01.01.2013, 13:11 #3
Одно из двух: или наследуешь всё, или делаешь сам. Можно наследовать не от самого класса, а от его предка. Несколько независимых классов могут случайно иметь общие свойства. Например, лошадь и электростанция одинаково имеют максимальную мощность не будучи потомками ни друг друга, ни какого либо другого класса. Город же и скала закономерно имеют общее свойство - географические координаты, так как оба - потомки общего предка - географического объекта. Катер и лошадь-скакун - тоже потомки общего предка - транспортного средства. Катер и электростанция - потомки общего предка - машины. Но лошадь и электростанция не лезут в общие рамки ни как, общий атрибут имеют.

Добавлено через 4 минуты
Цитата Сообщение от [progeR
;3939493]Знаю один вариантов. В своем классе создать объект класса B и через него использовать нужные функции.
Агрегировать что ли? А действительно ли экземпляр A включает в себя экземпляр B? Если это двигатель и газонокосилка, то такой подход оправдан, но если экземпляры класса B не могут быть частями экземпляров класса A то так делать нельзя. Например, нельзя агрегировать автомобиль в ракету.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2013, 13:11
Привет! Вот еще темы с ответами:

Как составить программу учета без использования базы данных? - C++
Пожалуйста помогите новичку. Надо составить программу без использование базы данных. Имеются сведения о парке компьютеров. Каждый...

Продолжение цепочки наследования без дублей базовых классов - C++
class A { public: A(); int x; }; class B : public A { public:

Игровые движки пишут сначала на c++ без использования WinAPI объясните как? - C++
Здравствуйте!Модераторы похожих вопросов у меня много но конкретного ответа я не получил. Пожалуйста спецы ответьте я много изучаю...

Как сделать замену слова в строке без использования функций библиотеки string? - C++
вводится строка => вводится слово, которое нужно заменить(если оно есть в строке)=> вводится слово на которое нужно заменить


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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