template<typename T>
class MySwither{
public:
virtual void SetData(T data) = 0;
virtual T GetData() = 0;
};
class AthleteForm : MySwither<int> {
private:
int a;
public:
AthleteForm() : a(0){}
void SetData(int data){
a = data;
}
int GetData(){
return a;
}
};
template<typename T>
class AbsObj{
public:
AbsObj(){}
MySwither<T> *obj;
};
class IntObj : public AbsObj<int>{
public:
IntObj(){
obj = new AthleteForm;
}
~IntObj(){
if(obj != nullptr){
delete obj;
}
}
};
int main(int argc, char *argv[])
{
IntObj obj;
return 0;
}
error 'MySwither' is an inaccessible base of 'AthleteForm'
AbsObj::obj = new AthleteForm;