Предыдущий пост -

Вложенный класс

Рубрика: C++, Дата: 12 March, 2013, Автор:
Tags:

Рассмотрим такое понятие как вложенный класс.

Что такое вложенный класс?

Вложенный класс это класс который полностью определен внутри другого класса

От например возьмем класс String и определим в нем другой класс

#ifndef STRING1_H
#define STRING1_H

class String
{
	struct Srep;
};

struct String::Srep
{
	
};

#endif

В данном примере Srep вложенный класс. Мы в классе String просто объявили класс Srep, а само определение можно сделать и вне класса через синтаксис, операцию разрешения области видимости struct String::Srep.

Экземпляр обычного класса может существовать сам по себе, а экземпляр внутреннего не может, без привязки к включающему его классу. Проверим.

#include "String1.h"

int main()
{
	Srep a;//ошибка вне области видимости
	String::Srep a;//ошибка закрытый член
	
	return 0;
}

В данном примере мы не смогли создать класс Srep потому, что он закрытый член класса, если мы его сделаем открытым public:, то у нас создается структура a которая имеет тип Srep.

За вложенные классы пока достаточно, если еще чо нить новенькое вылезет, то добавлю инфу еще сюда.

rss