gpt4 book ai didi

c++ - 在没有任何纯虚方法的情况下使类抽象

转载 作者:IT老高 更新时间:2023-10-28 13:58:49 25 4
gpt4 key购买 nike

我有一个监听鼠标事件的类。但是,我不想强​​迫用户实现任何特定的,但我想明确表示他们必须继承它。

有没有办法做到这一点?

谢谢

最佳答案

你可以声明一个纯虚析构函数,但是给它一个定义。该类将是抽象的,但任何继承类默认情况下都不会是抽象的。

struct Abstract
{
virtual ~Abstract() = 0;
};

Abstract::~Abstract() {}

struct Valid: public Abstract
{
// Notice you don't need to actually overide the base
// classes pure virtual method as it has a default
};


int main()
{
// Abstract a; // This line fails to compile as Abstract is abstract
Valid v; // This compiles fine.
}

关于c++ - 在没有任何纯虚方法的情况下使类抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4640985/

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