Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.10 Производные классы





В описании класса можно указать список базовых классов с помощьюследующих конструкций: спец-базовых:: список-базовых список-базовых: спецификация-базовых список-базовых, спецификация-базовых спецификация-базовых: полное-имя-класса virtual спецификация-доступа opt полное-имя-класса спецификация-доступа virtual opt полное-имя-класса спецификация-доступа: private protected public Конструкция имя-класса в спецификации-базовых должна обозначатьранее описанный класс ($$R.9), который называется базовым поотношению к определяемому классу. Говорят, что класс являетсяпроизводным от своих базовых классов. Назначение конструкцииспецификация-доступа объясняется в $$R.11. К членам базового класса,если только они не переопределены в производном классе, можно обращатьсятак, как будто они являются членами производного класса. Говорят,что производный класс наследует члены базового класса. С помощьюоперации разрешения области видимости:: ($$R.5.1) к члену базовогокласса можно обращаться явно. Такое обращение возможно и в том случае,когда имя члена базового класса переопределено в производном классе.Производный класс сам может выступать как базовый при контроледоступа, см. $$R.11.2. Указатель на производный класс может неявнопреобразовываться в указатель на однозначно определенный и доступныйбазовый класс ($$R.4.6). Ссылка на производный класс может неявнопреобразовываться в ссылку на однозначно определенный и доступныйбазовый класс ($$R.4.7). Рассмотрим пример: class base { public: int a, b; }; class derived: public base { public: int b, c; }; void f() { derived d; d.a = 1; d.base::b = 2; d.b = 3; d.c = 4; base* bp = &d; // стандартное преобразование derived* в base* } Здесь присваиваются значения четырем членам d, а bp настраиваетсяна d. Класс называется прямым базовым, если он находится в списке-базовых,и косвенным базовым, если сам не являясь прямым базовым, он служитбазовым для одного из классов списка-базовых. Отметим, что в обозначении имя-класса:: имя конструкция, имя можетбыть именем члена косвенного базового класса. Такое обозначениепросто указывает класс, в котором следует начинать поиск этого имени.Приведем пример: class A { public: void f(); } class B: public A { }; class C: public B { public: void f(); } void C::f() { f(); // вызов f() из C A::f(); // вызов f() из A B::f(); // вызов f() из A } Здесь дважды вызывается A::f(), поскольку это единственная функция f()в классе B. Инициализация объектов, представляющих базовые классы, задаетсяв конструкторах, см. $$R.12.6.2.







Дата добавления: 2015-09-04; просмотров: 333. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

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

Studopedia.info - Студопедия - 2014-2026 год . (0.009 сек.) русская версия | украинская версия