gpt4 book ai didi

C++ 使用 *this 从静态方法调用抽象方法

转载 作者:行者123 更新时间:2023-11-28 02:56:46 24 4
gpt4 key购买 nike

<分区>

我正在尝试创建一个抽象类,它允许您调用方法 Fun,它是静态的,它打印 "Abstract Class",但是,它不是工作,因为我在静态方法中使用 *this 。我对如何解决这个问题感到困惑:

class A
{
private:
virtual void __Fun() = 0
{
std::cout << "Abstract Class";
}
static void _Fun(A &instance)
{
instance.__Fun();
}
public:
static void Fun()
{
_Fun(*this); // 'this' may only be used in nonstatic member functions
}
};

int main()
{
A a; // Throws - which is good: class is abstract
A::Fun(); // Desired result
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com