template <class _CT>
class _tBaseToken
{
//
};
template <class _CT>
class _tBaseDatabase
{
typedef _tBaseToken<_CT>tokenType;
virtual tokenType *allocateToken(_CT parent)=0; // wir brauchen ne menge solcher
};
//first derivate :
template <class _CT>
class BruteForceDatabase
: public _tBaseDatabase<_CT>
{
public:
class tokenType : public _tBaseToken<_CT>
{
//ctor´s,ops,....
}
tokenType* allocateToken (_CT parent) //genau hier knallts dann natürlich
{
return new tokenType( parentObject, *this);
}
};
Angewendet werden soll das dann wie folgt :
typedef _tBaseToken<_tBot*>Token;
typedef _tBaseDatabase<_tBot*>Database;
Database*pd2;
switch (type) :
case TYPE_A : pd2 = ((new BruteForceDatabase<_tBot*>())); //hier gibts dann natürlich : error C2259:
//cannot instantiate abstract class due to following members...
so, ich hoffe das sind net zu viele details, um da was zu sagen zu können.
vs2003 monster ? ok, das liegt an meiner hardware. der ms kram läuft bei inna vmware ;-)
vielen dank für die schnelle antwort, seid ja richtig fleißig hier