|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
Пусть имеем Код: plaintext 1.
А также Код: plaintext 1. 2. 3. 4.
A ничего не знает о существовании B. Нужно периодически вызывать из A метод B::DoSomething(). Каким образом это сделать? Вроде, это должно делаться через static_cast или dynamic_cast. В экземплах Microsoft это делается в main(), где А и В знают о существовании друг друга. В инете тоже все экземалы предполагают близкое знакомство А и В. Попытка запихнуть в А #include "B" Вызвало бурю негодования.) Что, в общем, понятно, но ведь попробовать можно.) "Есть многое на свете, друг Горацио, что и не сразу в голову придет." М. Твен "Приключения Геккельбери Финна" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 02:28 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 03:24 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
White Owl Код: plaintext 1. 2. 3.
Вызывал и напрямую, и через A::DoSomething(). B::DoSomething() не откликается. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 17:16 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
YUBA White Owl Код: plaintext 1. 2. 3.
Вызывал и напрямую, и через A::DoSomething(). B::DoSomething() не откликается. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 17:30 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
egorych, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Вот так. Нет логфайла. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 17:41 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
YUBAclass B:A int DoSomething() { Добавь "override" для надёжности. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 17:45 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
YUBA, если переписать код, чтобы он хотя бы компилировался, то всё есть . Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 18:36 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
vAH_O6Vg, спасибо. У меня тоже уже работает. Такая конструкция. Это уже большая, на >200КБ, ДЛЛ, и поначалу где-то недосмотрел. Всем спасибо! Интересно, почему в инете аналогичная задача везде решается через static_cast? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 19:04 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
YUBA Интересно, почему в инете аналогичная задача везде решается через static_cast? Ссылку дай где так решается. Родитель понятия не имеет о наследниках, поэтому не знает к чему приводить static_cast`ом ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 19:12 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
Dima T YUBA Интересно, почему в инете аналогичная задача везде решается через static_cast? Ссылку дай где так решается. Родитель понятия не имеет о наследниках, поэтому не знает к чему приводить static_cast`ом ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 19:16 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
Dima T Родитель понятия не имеет о наследниках, поэтому не знает к чему приводить static_cast`ом ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 21:34 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
Dima T YUBA Интересно, почему в инете аналогичная задача везде решается через static_cast? Ссылку дай где так решается. Родитель понятия не имеет о наследниках, поэтому не знает к чему приводить static_cast`ом C++. Передача указателя на методы потомка в родительский класс ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 23:02 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
YUBA ....Передача указателя на методы потомка в родительский класс авторы курили тяжёлые наркотики явно... крайне НЕ РЕКОМЕНДУЮ делать то, что ПРОТИВОРЕЧИТ ЛЮБОЙ ЗДРАВОЙ ЛОГИКЕ... Иначе потом будете с пеной у рта заявлять на всех форумах о верёвке которая стреляет се в жопу, о самом сложном в программировании - указателях, и крутых знаниях ООА и ООП... ну а теперь серьёзно... Нарисуйте хотя бы один случай ИЗ ЖИЗНИ (а ОО это единственная технология которая учит как переложить жизнь в код) когда родитель должен знать о ребёнке??? я вот как то не въезжаю - что двигатель машины знает где стоит? И небось его мозги прошиты на разные варианты - типо в камазе, в легковой, на самолёте и т.д... Или ещё дальше - знает небось маршрут передвижения машины в целом и качестве дорожного полотна? Вы серьёзно???? бу-га-га (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 23:20 |
|
Вызов метода потомка из базового класса.
|
|||
---|---|---|---|
#18+
CEMb Dima T Родитель понятия не имеет о наследниках, поэтому не знает к чему приводить static_cast`ом Статик диспатчинг можно обеспечить через CRTP, сделав A шаблонным классом. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2020, 10:07 |
|
|
start [/forum/topic.php?fid=57&msg=39924007&tid=2017479]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 395ms |
0 / 0 |