c++多层继承,多态
C++ Multilevel Inheritance, Polymorphism
假设我有三个类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();
}
不知道它是做什么的
相关文章:
- 继承/多态性 - 我是否被迫使用"protected"变量?
- 当依赖关系和依赖关系都是多态时,在哪个继承级别存储依赖关系指针?
- 具有 3 级继承的基类shared_ptr的多态性
- C 中的多态性.在基类上调用继承的方法
- 模板、继承和多态性 C++
- 了解C++中的继承和多态性
- 继承多态性功能调用
- C++接口、继承、多态性
- Sean Parent:对于继承层次结构中的多态类型,具有可变对象是极端的例外
- 如何在保持多态性的同时,将成员函数添加到需要它的继承类中,而不会影响其他同级类?
- 在C++中使用多态性相对于继承的实际优势
- 如果该类不是继承的,它会变成多态的吗
- 收到未定义的引用错误 c++ 继承/多态性
- C++ 继承、多态、运算符重载
- 多态性(继承)和价值类型
- 多种继承和多态性问题
- 如何正确组织继承类以利用多态性
- bisonc++的多态继承
- 如何对多态继承层次结构执行灵活的序列化
- 这是非多态继承的好理由吗?