Организация кода шаблонного метода
От: cresta  
Дата: 12.05.11 15:28
Оценка:
Привет!

Подскажите, пожалуйста, как лучше организовать код. Было так:

// SomeClass.h
class SomeClass {
private:
   struct S;//объявление структуры, определение вынесено в SomeClass.cpp
};


Я написал довольно большой шаблонный метод func, код пока что поместил в заголовочном файле SomeClass.h. В функции funс() используются некоторые поля структуры S, поэтому пришлось определение S перенести в заголовочный файл (из SomeClass.cpp в SomeClass.h):
// SomeClass.h
class SomeClass {
private:
   struct S { // пришлось перенести определение в заголовочный файл
       Type1 data1;
       ....
   }
public:
   template<class T>
   T func(T arg) {
      S* ps = ...;
      ps->data1;
   }
};


Теперь хочу
1) вернуть определение структуры S в файл реализации (SomeClass.cpp)
2) код шаблонного метода func() вынести из заголовочного файла (SomeClass.h)

Что-то не могу сообразить как лучше это сделать...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.