有人偶然知道从 C++ 抽象类中的静态方法调用非静态方法的解决方法?
例如,我有以下抽象类:
class aClass
{
public:
static int check();
virtual int check_deep()=0;
}
我想调用 check_deep() 形成 check()
提前致谢, 朱迪思。
最佳答案
为此,您需要更改静态方法的签名以接收对 aClass
实例的引用(或指针):
class aClass
{
public:
static int check(aClass& instance);
virtual int check_deep()=0;
}
int aClass::check(aClass& instance)
{
return aClass.check_deep();
}
设计 smells 不知何故!
关于c++ - 从抽象类中的静态方法调用非静态方法(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21368648/