Ключевые слова наследования
Только для систем 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 использует наименьшее возможное представление.
Примечание |
---|
То же самое переднее объявление представления указатель-к-участника класса должно обнаруживаться в каждой единицы измерения перевода, объявляющую указателей на члены этого класса и объявление должно произойти до указателей на члены объявлены. |
ЭЛЕМЕНТ, относящийся Майкрософт