在Dev C++ 下不能通过编译,why?
#include <iostream>
using namespace std;
template <class T>
class A
{
public:
void setx(T a) { x=a; }
void dispa() { cout<<x<<endl; }
T getx() { return x; }
protected:
T x;
};
template <class T1,class T2>
class B:public A<T2>
{
public:
void sety(T1 obj1, T2 obj2) { y=obj1; setx(obj2);}
void dispb() { cout<<y<<" "<<getx()<<endl; }
T1 gety() { return y; }
protected:
T1 y;
};
int main()
{
B <char *,double> obj1;
obj1.setx(12.34);
obj1.dispa();
obj1.sety("The value is" , 56.78);
obj1.dispb();
obj1.dispa();
obj1.setx(90.12);
cout<<obj1.gety()<<endl;
cout<<obj1.getx()<<endl;
obj1.dispb();
B <char *,char *> obj2;
obj2.sety("The result is ","very good.");
obj2.dispb();
B <int, char *> obj3;
obj3.sety(10,"pass");
obj3.dispb();
}