我用虚拟方法定义了一个模板类:
template<class T>
class Father{
public:
virtual void foo(int a);
}
然后我定义了一个类,继承自模板类,并重写其方法:
class Son: public Father<int>{
public:
virtual void foo(int a);
}
Son中的重写方法是否能够调用父的重写方法?
我尝试了以下3个实现,但似乎没有编译:
1)在Son.cpp
void Son::foo(int a){
Father::foo(a);
}
2)在Son.cpp:
void Son::foo(int a){
::foo(a);
}
3)在Son.h中
using Father::foo;
virtual void foo(int a);
在Son.cpp
void Son::foo(int a){
Father::foo(a);
}
有办法做到这一点吗?
答案 0 :(得分:1)
我刚刚解决了这个问题:答案似乎是YES并且以下代码正在编译:
void Son::foo(int a){
Father<int>::foo(a);
}