BG Development · За реклама · За контакти | Помощ Търсене Потребители Календар Правила |
Здравей! ( Включване | Регистриране ) |
Страници: (5) [1] 2 3 ... последна » ( Първото ново мнение ) |
iliyana |
Публикувано на: 02-02-2024, 17:57
|
Име: Група: Потребител Ранг: Новопостъпил Мнения: 1 Регистриран на: 02.02.24 |
Здравейте! Търсих навсякъде к намерих само следния вид наследяване:
class име_клас_наследник : тип_наследяване име_базов_клас { //Тяло на класа наследник } Въпросът ми е има ли и други видове наследяване в C++? |
ici |
Публикувано на: 02-02-2024, 18:59
|
Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 18699 Регистриран на: 06.06.04 |
-------------------- Ние не сме в една лодка, ние сме в една буря. Лодките са различни.
Следващият път когато се почувстваш ненужен, грозен и недооценен, помни че освен това си и тъп. |
Дон Реба |
Публикувано на: 03-02-2024, 13:44
|
||
Име: Група: Потребител Ранг: Почетен член Мнения: 10296 Регистриран на: 11.11.06 |
тя пита какви ключови думи са валидни , а не за разни стратегии мисля че всички спецификатори за достъп public, private, protected са валидни, както и virtual в допълнение спецификаторите за достъп са досада, защото при наследяване който там е правил езика е решил че декларациите в базовия клас се отменят, това не знам защо, но факт. ако наследиш клас със някакви публични променливи в наследника вече не са публични. затова се ползва тоя спецификатор, за да ги укажеш да са публични и за наследника virtual спецификатора служи за избягване на две копия на базовия клас при ромбично наследяване, което е абсурд да го разбереш в момента. |
||
WizardKing |
Публикувано на: 05-02-2024, 05:01
|
Име: Група: Потребител Ранг: Редовен член Мнения: 528 Регистриран на: 12.08.23 |
Каква ви е реалната файда в ц++ от наследяване на повече от един клас? Сумати езици го изхвърлиха това като опция - стига ви един конкретен/абстрактен за база и множество контракти. Ромбоида винаги води до глава в бюрото.
-------------------- Screw You Guys, I'm Going Home!
|
BIGBUGEX |
Публикувано на: 05-02-2024, 06:39
|
Име: Група: Потребител Ранг: Почетен член Мнения: 1722 Регистриран на: 30.11.04 |
Ако под контракти визираш интерфейси, ако се замислиш, това са класове без имплементация. От което следва, че в С++ можеш да наследяваш "интерфейси" с частична или дори цялостна имплементация. За пример да дам сорса на сайта който правих, където се ползва множествено наследяване на интерфейси с частична имплементация.
|
dvader |
Публикувано на: 05-02-2024, 07:02
|
||
Име: Група: VIP Ранг: Почетен член Мнения: 5251 Регистриран на: 12.07.05 |
IUnknown гледа неразбиращо... -------------------- I find your lack of faith disturbing
|
||
dvader |
Публикувано на: 05-02-2024, 07:05
|
||
Име: Група: VIP Ранг: Почетен член Мнения: 5251 Регистриран на: 12.07.05 |
Нямаме нужда да кодим с IDE, което да изписва всички методи от родителя и да ги попълва със stub който вика реалният метод. -------------------- I find your lack of faith disturbing
|
||
Дон Реба |
Публикувано на: 05-02-2024, 10:35
|
||
Име: Група: Потребител Ранг: Почетен член Мнения: 10296 Регистриран на: 11.11.06 |
никаква, но в живота понякога е така и трябва да избираме - или красотата или истината. аз ромбоид само веднъж в живота съм удрял, но като се наложи няма как, така всъщност научих че имало виртуално наследяване. тогава обаче бях ООП фенбойче, сега ако ми се наложи вероятно ще го фонтирам по някакъв елегантен начин, който би накарал ООП феновете да вият от ярост и да цъкат върху "репорт" бутона до кръв под ноктите. |
||
dvader |
Публикувано на: 05-02-2024, 10:55
|
||
Име: Група: VIP Ранг: Почетен член Мнения: 5251 Регистриран на: 12.07.05 |
Много ми е интересно как... -------------------- I find your lack of faith disturbing
|
||
BIGBUGEX |
Публикувано на: 05-02-2024, 11:55
|
Име: Група: Потребител Ранг: Почетен член Мнения: 1722 Регистриран на: 30.11.04 |
Между другото търсих начин как при ромбоидно наследяване да презапиша методите и на двата родителя с две отделни имплементации но не намерих начин. Това е слабост на езика и тия от комитета по стандартите трябва да адресират този проблем.
|
Страници: (5) [1] 2 3 ... последна » |