64,637
社区成员
发帖
与我相关
我的任务
分享
template<typename T, typename _DataType>
class TBase
{
typedef _DataType DataType;
};
class CInstance : public TBase<CInstance, int>
{
public:
typedef int DataType;
};
#include <iostream>
using namespace std;
template <typename T>
class Base
{
private:
T t;
public:
virtual void printInfo()
{
t->printInfo();
}
};
class Derived : public Base<Derived*>
{
private:
int d;
public:
Derived()
{
d = 10;
}
void printInfo()
{
cout << d << endl;
}
};
int main(int argc, char** argv)
{
Base<Derived*>* pb = new Derived();
pb->printInfo();
return 0;
}