Code:
/*
Terrance Lynch
c++ practice with classes
November 23, 2002
*/
#include <iostream>
#include <string>
#include <sstream>
#include <strstream>
using namespace std;
class CStandardAllocator
{
class CStandardAllocator()
{
cout << 16 << endl;
}
};
template<class T, class alloc>
class CMCVectorImp : public alloc
{
public:
CMCVectorImp(int sz, int x) : alloc()
{
cout << sz * x << endl;
}
};
template<class Vect, class T, class alloc>
class cBagAsVectorImp : public Data
{
public:
cBagAsVectorImp(int sz) : Data(sz,1){}
protected:
Vect Data;
};
template <class T, class alloc>
class cBagAsVector : public cBagAsVectorImp<CMCVectorImp<T,alloc>, T, alloc>
{
public:
cBagAsVector(int sz) : cBagAsVectorImp<CMCVectorImp<T,alloc>, T, alloc>(sz)
{
cout << sz << endl;
}
};
template <class T>
class cBag : public cBagAsVector<T, CStandardAllocator>
{
public:
cBag(int sz):cBagAsVector<T, CStandardAllocator>(sz){}
};
int main()
{
int dBagSize = 4;
cBag<double> dBag(dBagSize);
return 0;
}
Two compiler errors, it says it doesn't recognize the Data as a base class.
Please help,
Thanks,
Terrance