Что это означает, когда «virtual» находится в «классе Foo: public virtual Bar», а не в «virtual void frob ()»? - PullRequest
7 голосов
/ 08 мая 2009

Что это значит, когда «virtual» находится в «классе Foo: public virtual Bar», а не «virtual void frob ()»?

Для данного метода существует 8 случаев, связанных с наличием или отсутствием виртуального в следующих трех местах.

  1. Функции суперкласса.
  2. Цепочка наследования для этого класса.
  3. Это классы функций.

Мне кажется, я понимаю, как взаимодействуют числа 1 и 3, но число 2 кажется излишним. Это? Что я не понимаю?

1 Ответ

11 голосов
/ 08 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...