Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2013, 23:42   #1
mir_zol
 
Регистрация: 03.12.2012
Сообщений: 8
Вопрос Вложенный шаблонный класс

Есть шаблонный класс для примера A<T> , в него вложен класс B<T>
Код:
template<class T>
class A
{
public:
    template<class T>
    class B
    {
    public:
        T obj;
    };
};
Т.К в действительности класс В не маленький , то есть жгучее желание сделать ,что-то наподобие этого :
Код:
class List {
public:
   // ...
   // объявление необходимо
   class ListItem;
   ListItem *list;
   ListItem *at_end;
};
// имя вложенного класса квалифицировано именем объемлющего класса
class List::ListItem {
public:
   ListItem( int val=0 );
   ListItem *next;
   int value;
};
А после подобного разбиения закинуть все относящиеся к классу В в другой файл .
Пытался разбить так , и еще несколькими способами , но этот метод перебора первого пришедшего в голову ничего путного не дал

Код:
template<class T>
class A
{
public:
    template<class T>
    class B;
};
template<class T>
class A<T>::B
{
public:
    T obj;
};
Подскажите как именно осуществить такое разделение .
mir_zol вне форума Ответить с цитированием
Старый 19.01.2013, 00:03   #2
mir_zol
 
Регистрация: 03.12.2012
Сообщений: 8
По умолчанию

Есть подозрение , что это реализовать нельзя(наподобие того , как нельзя реализовать разделение для шаблонных классов на .h и .cpp файлов(поправьте если не прав))
mir_zol вне форума Ответить с цитированием
Старый 19.01.2013, 01:22   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Код:
template<class T>struct Owner
{
	template<class D> struct Component;
};

template<class T>
	template<class D>
	struct Owner<T>::Component
	{	
		D obj;
	};

Последний раз редактировалось _Bers; 19.01.2013 в 01:31.
_Bers вне форума Ответить с цитированием
Старый 19.01.2013, 02:59   #4
mir_zol
 
Регистрация: 03.12.2012
Сообщений: 8
По умолчанию

Спасибо!!!
mir_zol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вложенный класс в шаблон. Указатель на вложенный класс в возвращаемом значении метода шаблона. Что делать? Asya1994 Помощь студентам 3 09.12.2012 01:43
Шаблонный класс, ошибка линковки revaldo666 Общие вопросы C/C++ 1 12.12.2011 15:57
Шаблонный класс С++ MAO25 Помощь студентам 0 21.05.2010 23:46
Шаблонный класс Ozerich Общие вопросы C/C++ 8 06.05.2010 02:18
Шаблонный класс Syltan Общие вопросы C/C++ 2 22.11.2009 22:23