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

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

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




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


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


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


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

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

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

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