I hope this example helps you:
CFirst.h
Code:
template<typename T>
class CFirst
{
public:
CFirst() {};
virtual ~CFirst() {};
private:
T m_member;
};
CSecond.h
Code:
#include "First.h"
#include <vector>
template <typename T>
class CSecond
{
public:
CSecond(const T& x) : m_member(x) {};
virtual ~CSecond() {};
private:
T m_member;
CFirst<T> m_member2;
std::vector<CFirst<T> > m_member3;
};
Dummy.cpp
Code:
#include "First.h"
#include "Second.h"
int main(int argc, char* argv[])
{
CFirst<int> a;
CSecond<int> b(4);
return 0;
}
mfg JJ