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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблемы при вызове деструктора http://www.cyberforum.ru/cpp-beginners/thread750640.html
В процессе работы программы указатель на класс Dictionary,который является членом класса DictionaryManager,должен указывать на разные объекты класса Dictionary и вот когда мне нужно удалить память выделенную для старого объекта и выделить для нового,возникают проблемы Так я удаляю выделенную память // if(CurrentDict == NULL) CurrentDict = new Dictionary(ListOfFiles.at(choise - 1));...
C++ Присвоение адреса указателю, равному NULL В конструкторе класса я присваиваю адрес переменной укзаателю,который равен был инициализирован NULL Dictionary(string DictName) { CurrentDictionary = DictName; DataTree->CurrentDict = this;//изначально CurrentDict = NULL } в результате при создании нового объекта класса Dictionary вылетает ошибка неинициализированное исключение по адресу ... Быть может дело в том,что указатель... http://www.cyberforum.ru/cpp-beginners/thread750632.html
C++ std::bind и указатель на статическую функцию член класса
Биндинг простых функций класса-это понятно, а вот как быть, если функция статическая?
Где можно найти описание всех стандартных функций доступных в Dev C++ или Borland 6 C++
всех с праздником,по чуть чуть изучаю с++ возник вопрос где можно найти описание всех стандартных функций доступных в dev c ++ или borland 6 может найдется в нете или в литературе на русском или хотя бы чтоб доступно было для начинающих.заранее спасибо.
C++ Разница между программами http://www.cyberforum.ru/cpp-beginners/thread750593.html
Какая между этими программами разница? Почему они другие результаты выводят? #include <iostream.h> int main() { int i=5; i=++i + ++i; cout<<i; system("pause"); }
C++ переопределение оператора Почему не компилируется? #include <iostream.h> class Class{ int x,y,z; public: Class(int a,int b,int c){x=a;y=b;z=c;} Class(){x=y=z=0;} void Show(char *s){cout<<s<<"x = "<<x<<" y = "<<y<<" z = "<<z<<endl<<endl;} Class operator+(); подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
01.01.2013, 13:11     Увеличение функциональности без использования наследования. Как?
Одно из двух: или наследуешь всё, или делаешь сам. Можно наследовать не от самого класса, а от его предка. Несколько независимых классов могут случайно иметь общие свойства. Например, лошадь и электростанция одинаково имеют максимальную мощность не будучи потомками ни друг друга, ни какого либо другого класса. Город же и скала закономерно имеют общее свойство - географические координаты, так как оба - потомки общего предка - географического объекта. Катер и лошадь-скакун - тоже потомки общего предка - транспортного средства. Катер и электростанция - потомки общего предка - машины. Но лошадь и электростанция не лезут в общие рамки ни как, общий атрибут имеют.

Добавлено через 4 минуты
Цитата Сообщение от [progeR
;3939493]Знаю один вариантов. В своем классе создать объект класса B и через него использовать нужные функции.
Агрегировать что ли? А действительно ли экземпляр A включает в себя экземпляр B? Если это двигатель и газонокосилка, то такой подход оправдан, но если экземпляры класса B не могут быть частями экземпляров класса A то так делать нельзя. Например, нельзя агрегировать автомобиль в ракету.
 
Текущее время: 16:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru