gpt4 book ai didi

c++ - 虚函数的继承

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:58 25 4
gpt4 key购买 nike

我有以下一段代码。

class A {
public:
virtual void foo() = 0;
}

class B : public A {
public:
void bar() { /* Do something */ }
}

void B::A::foo() {
bar();
// Do something else
}

当我尝试编译它时...我收到一条错误消息,提示它找不到 bar()。这不是实例化纯虚函数的正确方法吗?

use of undeclared identifier 'bar'

最佳答案

void B::A::foo() 没有多大意义。看起来你的意思是在 B 中实现 foo(),为此你需要在 B 的类声明中声明它,然后实现它:

class B : public A {
public:
void foo();
void bar() { /* Do something */ }
};

void B::foo() {
bar();
// Do something else
}

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

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