私有继承使用指令,重载?

car*_*ett 9 c++ inheritance

我在一个项目中使用私有继承,在"使用"实现"-sense".基类定义operator [],这是我想要使用的功能.因此,我有

class A : private B {
    using B::operator[];
    // ...
};
Run Code Online (Sandbox Code Playgroud)

但是,我如何控制运营商[]的版本?事实上,我需要不止一个,包括constconst版本和非版本.这可以实现吗?

Mar*_*k B 6

我的理解是你using应该自动引入操作员的所有不同重载.您是否希望将某些重载排除在子类中?在这种情况下,最好将工作拆分为父级中的几个不同命名的函数,并且只分配using您需要的函数.