【发布时间】:2021-08-03 19:54:12
【问题描述】:
我正在尝试将一个指向该类从另一个类继承的对象的指针传递给一个函数,然后访问它的成员函数。
这是基类:
class Base
{
public:
virtual int funcA(int paramA) = 0;
}
这是派生类:
class Derived : public Base
{
public:
Derived();
~Derived();
int funcA(int paramA);
}
Derived::Derived() {}
Derived::~Derived() {}
Derived::funcA(int paramA)
{
// SOMETHING
}
函数应该是这样的:
template<class T> // T should only be types that are derived from Base
void funcB(T* object)
{
object.funcA(10);
}
我已经尝试了很多不同的东西,但都没有编译,因为我正在尝试访问模板的函数。
【问题讨论】:
-
"我已经尝试了很多不同的方法,但没有一个奏效" 请定义您所说的“没有一个奏效”。
-
没有编译这些东西,因为我试图访问模板的特定功能
-
使用
std::enable_if -
它是
object->funcA(10),因为你有一个指针。你写了一个点,它不会编译。基础/派生问题与此无关。
标签: c++ templates inheritance