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

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

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




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


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


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


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

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

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

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

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