Результаты поиска по запросу "virtual"

6 ответов

Оператор - это метод со специальным синтаксисом. Вы можете рассматривать это как любой другой метод ...

тор присваивания в C ++ можно сделать виртуальным. Почему это требуется? Можем ли мы сделать других операторов виртуальными тоже?

2 ответа

 в Visual Studio 2005 и 2008 выполняется виртуальное предположение о вызове путем вставки прямого вызова в наиболее вероятную целевую функцию, встраивания вызова, поэтому вес может быть одинаковым.

ся, я вспомнил, что читал где-то, что стоимость виртуального вызова в C # не так высока, условно говоря, как в C ++. Это правда? Если так - почему?

4 ответа

Кажется, не то, что все остальные имеют в виду.

P, чтобы избежать динамического полиморфизмапредлагается следующее решение, чтобы избежать накладных расходов на виртуальные функции-члены и наложить определенный ...

ТОП публикаций

2 ответа

при выборе перегрузки, если есть какие-либо совместимые методы, объявленные в производном классе, все сигнатуры, объявленные в базовом классе, игнорируются - даже если они переопределены в том же производном классе!

отреть код public class Base { public virtual int Add(int a,int b) { return a+b; } } public class Derived:Base { public override int Add(int a,int b) { return a+b; } public int Add(float a,float b) { return (Int32)(a + b); } }Если я создаю ...

1 ответ

Кстати, ваш ожидаемый результат был бы правильным, если бы вы работали на 32-битной машине. Указатели (особенно vptr) имеют ширину 4 байта, и выравнивание также должно быть кратно 4 байтам. Так как тогда все члены данных рассматриваемых классов имеют размер 4 байта, выравнивание здесь ничего не даст.

кто-нибудь объяснить мне, что здесь происходит? Во-первых, я думаю, что большинство программистов знают, что класс с виртуальной функцией имеет vtbl и, следовательно, имеет 4 дополнительных байта в верхней части. Насколько я знаю, это довольно ...

1 ответ

docs.oracle.com/cd/E19620-01/805-3024/6j2sumi4b/index.html

я, Я виделэта статья [http://lwn.net/Articles/39283/]Инго Молнар (Ingo Molnar), известный энтузиаст Linux Kernel, где он рассказывает о разделении на 4 ГБ / 4 ГБ. В этой статье он говорит, что с помощью патча 4G / 4G ядро ​​может быть ...

3 ответа

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

я есть абстрактный класс C #, который имеет поведение в виртуальном методе. Мне нужно протестировать это поведение в этом виртуальном методе (не вопрос: когда этот метод вызывается). Я вижу три варианта: 1) создать фиктивную реализацию ...

2 ответа

Хммм ... Какую версию Rhino.Mocks вы используете?

ли я выполнить тело виртуального метода, который живет в абстрактном классе, который был смоделирован с использованием Rhino Mocks? Чтобы было ясно, я не пытаюсь издеваться над поведением виртуального метода. Я пытаюсь / test / виртуальный метод ...

1 ответ

Надеюсь это поможет!

es вездесущи в большинстве реализаций OO, но есть ли у них альтернативы? На вики-странице для vtables есть небольшая реклама, но не слишком много информации (и короткие ссылки). Знаете ли вы о какой-то языковой реализации, которая не использует ...

2 ответа

 ключевое слово перед переопределенной функцией-членом в производном классе является необязательным. Полиморфизм во время выполнения работает только для указателей или ссылок.

ли разница между объявлением унаследованной виртуальной функции в дочернем классе?с участием"виртуальное" ключевое словоили нет, учитывая, что я хочу назвать веселье подходящим для типа моих объектов. Посмотрите на комментарии. #include <cstdio> ...