gpt4 book ai didi

继承类中的c++虚函数

转载 作者:行者123 更新时间:2023-11-30 00:38:40 25 4
gpt4 key购买 nike

我知道,当你想声明一个多态函数时,你必须声明基类函数为虚函数。

class Base
{
public:
virtual void f();
};

我的问题是您是否需要将继承类函数声明为虚函数,即使期望 Child 的行为就好像它是“密封的”一样?

class Child : public Base
{
public:
void f();
};

最佳答案

不,您不需要重新声明该函数为虚函数。

基类中的 virtual 函数会自动将所有覆盖函数声明为 virtual:

struct A
{
void foo(); //not virtual
};
struct B : A
{
virtual void foo(); //virtual
}
struct C : B
{
void foo(); //virtual
}

关于继承类中的c++虚函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10253224/

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