Показать сообщение отдельно
Старый 16.03.2005, 20:59     # 104
StPatrick
Guest
 
Сообщения: n/a

К вопросу о uninheritable class

Я бы лично тоже решил задачку с private конструктором, но как видно это не то что задумывалось. Конечно можно воспользоваться языковыми примочками типа final (PHP), sealed (C#), NonInheritable (VB), но я так думаю что уважаемый Фей-Мод Dimm хочет другое решение. К сожалению решения я ещё не нашел, но пока баловался, пришел к интересной штуке с вложенными классами. Вот пример:

Код:
class A1
{
public: 
	A1(){};
private:
	class A2
	{
	public:
		A2(){};
	};
};
От класса А2 не только нельзя унаследовать (что собственно отвечает условиям задачи) но и создать вне класса А1 тоже нельзя. А может это и был ответ? /ooc crosses fingers