gpt4 book ai didi

c++ - 在派生类中添加虚拟说明符

转载 作者:太空狗 更新时间:2023-10-29 19:51:25 25 4
gpt4 key购买 nike

考虑以下代码:

struct virtualfoo 
{
virtualfoo{};
virtual ~virtualfoo{};

virtual double doStuff() = 0
};


struct realbar : virtualfoo
{
realbar{};
virtual ~realbar{};

virtual double doStuff();
};

因为我想为 realbar 实现 doStuff(),虚拟不是强制性的。但是,如果我做对了,将虚拟说明符放在 realbar::doStuff() 旁边不会有什么坏处,不是吗?使用/不使用虚拟会有什么副作用?

最佳答案

virtual 关键字在派生类中不是必需的。但是它使代码更清晰。同样在 C++11 中引入了 override 关键字,它允许源代码明确指定成员函数打算覆盖基类方法。

使用关键字override 编译器将检查基类以查看是否存在具有此确切签名的虚函数。如果没有,编译器将抛出错误。

关于c++ - 在派生类中添加虚拟说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44523336/

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