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

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

R.9.7 Вложенные описания классов





Класс можно описать в описании другого класса. Такой класс называютвложенным. Имя вложенного класса локально по отношению кобъемлющему классу. Вложенный класс находится в области видимостиобъемлющего класса. Если не считать явного использования указателей,ссылок или имен объектов, то в описаниях вложенного класса допустимытолько имена типов, статических членов и элементов перечисленияиз объемлющего класса. int x; int y; class enclose { public: int x; static int s; class inner { void f(int i) { x = i; // ошибка: присваивание enclose::x s = i; // нормально: присваивание enclose::s::x = i; // нормально: присваивание глобальному x y = i; // нормально: присваивание глобальному y } void g(enclose* p, int i) { p->x = i; // нормально: присваивание enclose::x } }; }; inner* p = 0; // ошибка: `inner' вне области видимости Функции-члены вложенного класса не имеют особых прав доступа к членамобъемлющего класса, они подчиняются обычным правилам доступа ($$R.11).Аналогично, функции-члены объемлющего класса не имеют особых правдоступа к членам вложенного класса и подчиняются обычным правиламдоступа, например: class E { int x; class I { int y; void f(E* p, int i) { p->x = i; // ошибка: E::x частный член } }; int g(I* p) { return p->y; // ошибка: I::y частный член } }; Функции-члены и представляющие данные, статические члены из вложенногокласса можно определить в глобальной области видимости, например: class enclose { class inner { static int x; void f(int i); }; }; typedef enclose::inner ei; int ei::x = 1; void enclose::inner::f(int i) { /*... */ } Подобно функции-члену дружественная функция, определенная в данномклассе, находится в области видимости этого класса. Она подчиняетсятем же правилам связывания имен, что и функции-члены (они указаны вышеи в $$R.10.4), и не имеет так же как они особых прав доступа кчленам объемлющего класса и к локальным переменным функций этогокласса ($$R.11).







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




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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Дезинфекция предметов ухода, инструментов однократного и многократного использования   Дезинфекция изделий медицинского назначения проводится с целью уничтожения патогенных и условно-патогенных микроорганизмов - вирусов (в т...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

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

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