gpt4 book ai didi

c++ - 调用重写的方法而不是直接的父亲

转载 作者:行者123 更新时间:2023-11-30 03:14:17 24 4
gpt4 key购买 nike

我听到一个说法,“C++ 中类的方法可以调用所有级别的所有重写方法”。例如,考虑 A 类、B 类和 C 类。它们具有以下层次结构:

A<-B<-C

意思是 B ihentence 来自 A 和 C inhetence 来自 B。所有的类都有一个方法 foo。如何从 C 的方法 foo 调用 A 的方法 foo

我知道现在可以在 Java 和 C# 中使用,但在 C++ 中可以吗?

最佳答案

您可以使用 scope resolution operator与父类。例如:

#include <iostream>

class A {
public:
virtual void foo() { std::cout << "A"; }
};

class B: public A {
public:
void foo() override { std::cout << "B"; }
};

class C: public B {
public:
void foo() override {
A::foo();
B::foo();
std::cout << "C";
}
};

int main() {
C c;
c.foo();
}

关于c++ - 调用重写的方法而不是直接的父亲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57940031/

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