是否可以将继承的类成员声明为私有?

时间:2018-11-07 15:43:54

标签: c++ class inheritance implicit-conversion

当用operator[](int)operator[](std::vector<int>)重载方括号运算符,并使用同时具有B::public A()bool的类std::vector<int>的实例时,我正在处理歧义问题A()类型转换运算符已定义(问题在于布尔类型转换,可以将其隐式转换为int,从而造成歧义)。

由于布尔类型转换运算符是从B()继承而来的,因此有没有办法在std::vector的定义中将其定义为私有?

上下文:

我正在重载存储容器类(围绕B的简单包装器),而bool是一个“比较器”类,它按值比较容器,并且可以将其转换为简单的容器用于批量比较的std::vector<int>值,或用于true值的索引位置的if(mat1=mat2) {}。这使我俩都可以执行简单的批量比较,例如mat1[mat1==14] = // ...以及将索引掩码应用于我的容器,例如MIN()

0 个答案:

没有答案