c++多层继承,多态

C++ Multilevel Inheritance, Polymorphism

本文关键字:多态 继承 c++      更新时间:2023-10-16

假设我有三个类A, B和C,类B继承自类A,继承是私有的,而类C继承自类B,继承是公有的。现在类A有一个受保护的函数,类C想要访问它。那么,在类B中必须做些什么才能使受保护的函数对类c可用呢?

下面是代码的链接:http://pastebin.com/9E2sLZzj

using关键字使继承类的成员在其子类的作用域中可见且可解析。因此,要使私有继承的成员对B的子类可用:

class A {
protected:
    void foo() {}
};
class B : private A {
protected:
    using A::foo;
};
class C : public B {
    void bar()
    {
        foo();
    }
};

好了,我有办法了将此代码片段插入类b后可以正常工作。

int get(){
  return A::get();
}

不知道它是做什么的