Студопедия — R.10.1 Множественные базовые классы
Студопедия Главная Случайная страница Обратная связь

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

R.10.1 Множественные базовые классы






Класс может быть производным по отношению к любому числу базовыхклассов. Приведем пример: class A { /*... */ }; class B { /*... */ }; class C { /*... */ }; class D: public A, public B, public C { /*... */ }; Использование более, чем одного прямого базового класса называетсямножественным наследованием. Порядок наследования не важен, если не учитывать вопросов,связанных со стандартной инициализацией с помощью конструктора($$R.12.1), уничтожением ($$R.12.4) и размещением в памяти($$r.5.4, $$R.9.2, $$R.11.1). Порядок выделения памяти для базовыхклассов определяется реализацией. Нельзя указывать класс в качестве прямого базового по отношениюк производному классу более одного раза, но косвенным базовым классомон может быть неоднократно. class B { /*... */ }; class D: public B, public B { /*... */ }; // недопустимо class L { /*... */ }; class A: public L { /*... */ }; class B: public L { /*... */ }; class C: public A, public B { /*... */ }; // нормально Здесь объект класса C будет иметь два вложенных объекта класса L. К спецификации базового класса можно добавить служебное словоvirtual. Отдельный объект виртуального базового класса V разделяетсямежду всеми базовыми классами, которые указали V при задании своихбазовых классов. Приведем пример: class V { /*... */ }; class A: virtual public V { /*... */ }; class B: virtual public V { /*... */ }; class C: public A, public B { /*... */ }; Здесь объект класса C будет иметь только один вложенный объекткласса V. Класс может содержать виртуальные и невиртуальные базовые классы одноготипа, например: class B { /*... */ }; class X: virtual public B { /*... */ }; class Y: virtual public B { /*... */ }; class Z: public B { /*... */ }; class AA: public X, public Y, public Z { /*... */ }; Здесь объект класса AA будет иметь два вложенных объекта класса B:из класса Z и виртуальный, разделяемый между классами X и Y.







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



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

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

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

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

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

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

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