LINUX.ORG.RU
Хм, а ведь попробуй поспорь : )
ASterikS
()
Ну и чо? Тяжко слово запомнить чтоль? И какой ты нафиг после этого студент?

Видел бы, сколько всякой херни типа норм, гостов и прочих правил мудических приходится сдавать наизусть для присвоения должности ведущего инженера, а те ребятки, что "главные" и цельный Железные Лес могут в ровном поле построить с нуля - ваще ходячие энциклопедии.

Gharik
()
Ответ на: комментарий от generatorglukoff
Тут - ничего. Только сильно подозреваю, что правильный ответ в более общем виде признают неверным. Вот это действительно 3\.14.*
random_code ★★
()
Ответ на: комментарий от Gharik
=) При чём тут слово запомнить. Смысл в том что тут вообще-то должно быть определение виртуальной функции а не то как оно обозначается в С++.
CrazyPit ★★★
() автор топика
Виртуальная функция - это функция, объявленная с ключевым словом ПЫЩ!.

Сделать это истиной для какого-нибудь языка не составит большого труда :)

anonymous
()
Ответ на: комментарий от CrazyPit
> =) При чём тут слово запомнить. Смысл в том что тут вообще-то должно быть определение виртуальной функции а не то как оно обозначается в С++.

интересно услышать ваше определение термина "виртуальная функция" причём не прибегая к конкретной реализации того или оного языка a'la C++ & K.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda
Например:

Виртуальный метод (виртуальная функция) — в объектно-ориентированном программировании метод (функция) класса, который может быть переопределён в классах-наследниках так, что конкретная реализация метода для вызова будет определяться во время исполнения.

но уж точно не так как там.

CrazyPit ★★★
() автор топика
Ответ на: комментарий от klalafuda
виртуальная функция м.б. редекларированна в классах ниже. таким образом, она может изменяться программистом сколь угодно много раз и выполняется последняя описанная из таких функций
temy4
()
Ответ на: комментарий от temy4
> виртуальная функция м.б. редекларированна в классах ниже. таким образом, она может изменяться программистом сколь угодно много раз и выполняется последняя описанная из таких функций

тогда уж не редекларирована а переопределена ;) declare != define. декларацией вы задаёте интерфейс, определением - реализацию.

// wbr
klalafuda ★☆☆
()
Ответ на: комментарий от temy4
> но суть понятна ;)

ну пока что не совсем. "пере определена в классах ниже" - это как? может быть всё-таки в унаследованных классах, т.е. скорее "выше"? если высоту измерять в позиции класса начиная от корня дерева иерархии классов.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от temy4
> хорош придираться к словам придираться ;) ясно же что имею в виду ниже уровень по древу классов

нуну, граждане, вы же всё-таки формальное определение даёте и это как раз тот случай, когда придираться к непонятным словам или неточностям более чем простительно.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda
хорошо: CrazyPit дал более точное определение. К нему-то по определению вопросов нет, надеюсь?

спросил - я привел навскидку

temy4
()
Ответ на: комментарий от klalafuda
>интересно услышать ваше определение термина "виртуальная функция" причём не прибегая к конкретной реализации того или оного языка a'la C++ & K.

Ранее связывание - вызываемая функция определяется на этапе компиляции.

Позднее связывание - вызываемая функция определяется на этапе выполнения.

Виртуальная функция - это функция, для которой применяется позднее связывание.

generatorglukoff ★★
()
А в жабе - это абстрактный метод, т.е. ключевым словом abstract и без тела. Тока там ещё и сам класс нужно пометить абстрактым.
shahid ★★★★★
()
Ответ на: комментарий от shahid
> А в жабе - это ...

А в "жабе" ВСЕ "функции" виртуальные!

0:)

Die-Hard ★★★★★
()
Ответ на: комментарий от temy4
> виртуальная функция м.б. редекларированна в классах ниже. таким образом, она может изменяться программистом сколь угодно много раз и выполняется последняя описанная из таких функций

Гы... Формально неверно!

Например, в ЦеПП я переезжаю папин метод сотней дочек, внучек итд., но не обзываю его "virtual" ни разу (имею право!); инстанцирую папу как пра-пра-... внучку и зову этот метод. Кто позовется?

Другой пример: я переезжаю папин метод сотней дочек, внучек итд., и обзываю его "virtual", как положенно; инстанцирую папу как некую серединную (пра*)внучку и зову этот метод. Позовется метод той (пра*)внучки, которую я ему подпихнул, но отнюдь не той, что я последнюю от него поимел!

Die-Hard ★★★★★
()
> Это реально правильный ответ для вопроса на тест

Писец... А в джаве значит все методы статические?!

no-dashi ★★★★★
()
Ответ на: комментарий от generatorglukoff
>Виртуальная функция - это функция, для которой применяется позднее связывание.

Каждая селедка - рыба, но не каждая рыба - селедка. Позднее связывание используется не только в виртуальных функциях.

redgremlin ★★★★★
()
Ответ на: комментарий от generatorglukoff
Ну, например, достал либу из архива, вызвал оттуда функцию, она отработала, удалил вытащенную либу при выходе. Хз зачем это может понадобится, просто лень пореальнее пример придумывать.
redgremlin ★★★★★
()
Ответ на: комментарий от generatorglukoff
> Можно пример?

функция из любой динамической библиотеки?

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от generatorglukoff
> Можно пример?

Любой вызов функции через указатель. Указатель я могу сформировать на этапе выполнения.

Вообще, словосочетание "виртуальная функция" в контексте ООП не имеет смысла, даже в рамках ЦеПП. Очевидно, автор вопроса имел в виду "виртуальный метод", но сам до недавнего времени программировал на Фортране (или Паскале) и, изучив Це, был поражен, что все вызываемое -- функции.

Или, может, автор вопроса -- лиспер...

:)

Die-Hard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.