Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Статический вызов виртуального метода.


Страницы:   1 2

oxffff ©   (2007-07-31 15:55:00) 

Предположем ситуацию, что метод должен вызвать реализацию метода перекрытого в одном из своих потомков,  но именно свою реализацию.

Востребована ли будет конструкция невиртульного вызова виртульного метода?

То есть ввод ключевого слова "Типа вызова" метода.

Например

static MyvirtualMethod().


oxffff   (2007-07-31 16:20:00) [21]


> Сергей М. ©   (31.07.07 16:10) [6]
>
> > А скажите как заставить компилятор сделать невиртуальный
>
>
> А конкретному Заказчику не похрену ли твои героические потуги
> на поприще твоего противостояния с конкретным компилятором,
>  а ?)


Я все же думаю это интересней, чем вести диалог с товарищем, который играет в прятки с процессами.
Хотя возможно из той же серии. Каждый по своему сходит с ума.

Ну что сделать. Если мне это интересно.


oxffff   (2007-07-31 16:14:00) [22]


> StriderMan ©   (31.07.07 16:08) [5]
>
> > Предположем ситуацию, что метод должен вызвать реализацию
>
> > метода перекрытого в одном из своих потомков
>
> сделай приватную невиртуальную копию метода. дергай ее если
> надо.


Это одно из решений.

Еще решение есть взятие адреса метода реализации. И вызов его.

Но.

Я спросил потому, что в предложенном вами случае будет два вызова в случае виртуального метода, либо дублирование кода.

Все это затраты, либо на размер кодового сегмента. Либо на скорость вызова в случае недублирования (виртуальная функция вызывает приватный метод).

Почему мы не расширить языковые конструкции для этих целей.
Кому надо может использовать.

Я именно с это позиции и спрашиваю.

Кто за, а кто против.


Сергей М.   (2007-07-31 16:10:00) [23]


> А скажите как заставить компилятор сделать невиртуальный


А конкретному Заказчику не похрену ли твои героические потуги на поприще твоего противостояния с конкретным компилятором, а ?)


StriderMan   (2007-07-31 16:08:00) [24]


> Предположем ситуацию, что метод должен вызвать реализацию
> метода перекрытого в одном из своих потомков

сделай приватную невиртуальную копию метода. дергай ее если надо.


oxffff   (2007-07-31 16:06:00) [25]


> Сергей М. ©   (31.07.07 16:03) [3]
>
> > Вы скажите свое мнение
>
>
> Так я ыть и сказал его - жениться б Вам).. На конкретном
> Заказчике конкретного программного продукта) ..


Вы пожалуйста не увиливайте.

А скажите как заставить компилятор сделать невиртуальный
вызов виртульного метода, за исключением inherited естественно.


Сергей М.   (2007-07-31 16:03:00) [26]


> Вы скажите свое мнение


Так я ыть и сказал его - жениться б Вам).. На конкретном Заказчике конкретного программного продукта) ..


oxffff   (2007-07-31 16:00:00) [27]


> Сергей М. ©   (31.07.07 15:58) [1]
>
> > oxffff ©   (31.07.07 15:55)
>
>
> Не буду оригинален, но
>
> "Жениться бы Вам, барин !" (с)


Так я женат.

Вы скажите свое мнение. Прошу вас.


Сергей М.   (2007-07-31 15:58:00) [28]


> oxffff ©   (31.07.07 15:55)


Не буду оригинален, но

"Жениться бы Вам, барин !" (с)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо