返回
我需要使用一个抽象类模板,如:template<class T>class A{public: virtual void f( T x ) = 0;};然后定义一个派生类:class B : public A<int>{public: void f( int x ) {}}如果我想像普通抽象类一样,用基类的指针来调用派生类的f函数,应该怎么做?谢谢
A<int> *pa=new B();
pa->f(0);
是这样吗? - 回复 | (1095) | 云风 | 2006-05-11 02:21:13
我的意思是,我需要使用不同的子类.如:
class B:public A<int>
class C:public B<double>
那么基类指针该如何定义和使用?
那你需要再好好理解以下 template. 看起来你的需求是不能直接满足的。
ps. 这里你的 B 并非 template, 而且 A<int> 跟 B<double> 也不像是同一个东西。 - 回复 | (1097) | 云风 | 2006-05-11 03:07:51