Поделиться через


Ключевые слова наследования

Только для систем Microsoft

class [__single_inheritance] class-name;
class [__multiple_inheritance] class-name;
class [__virtual_inheritance] class-name;

Здесь:

  • имя класса
    Имя, объявлянными класса.

C++ позволяет объявить указатель к члену класса до определения класса.Примеры.

class S;
int S::*p;

В коде выше p объявляет, что быть указателем на член целого числа класса.Однако class S пока не указывает в этом коде; только было объявлено.Когда компилятор встречает такой указатель, он должен выполнить обобщенное представление указателя.Размер представления зависит от конкретной модели наследования.4 Способа определить модель наследования для компилятора.

  • в интегрированной среде разработки вниз представление Указатель к участнику

  • В командной строке с помощью /vmg переключение

  • Использование pointers_to_members директива pragma

  • Использование ключевых слов наследования __single_inheritance" __multiple_inheritanceи __virtual_inheritance.Этот метод контролирует модель наследования для каждого в-класса.

    ПримечаниеПримечание

    Если всегда объявления указателя на член класса после определения класса, нет необходимости использовать любые из следующих параметров.

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

Если изменен в приведенном выше примере:

class __single_inheritance S;
int S::*p;

независимо от параметров командной строки или прагм, указателей на члены class S использует наименьшее возможное представление.

ПримечаниеПримечание

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

ЭЛЕМЕНТ, относящийся Майкрософт

См. также

Ссылки

Ключевые слова C++