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

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

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


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


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

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

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

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

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