c++ - 是否可以将继承的类成员声明为私有?
问题描述
operator[](int)
当用and重载括号运算符并使用定义了和强制转换运算符operator[](std::vector<int>)
的类的实例时,我正在处理一个歧义问题(问题在于可以隐式转换为 int 并因此产生歧义的布尔转换) .B::public A()
bool
std::vector<int>
由于 bool cast 运算符是从 继承的A()
,有没有办法在 的定义中将其定义为私有B()
?
语境:
我正在重载一个存储容器类(一个简单的包装器std::vector
),B
它是一个“比较器”类,可以逐个比较容器的值,并且可以转换为一个简单的bool
值进行批量比较,或者std::vector<int>
使用索引位置的true
值。这使我既可以执行简单的批量比较,例如if(mat1=mat2) {}
也可以将索引掩码应用于我的容器,例如mat1[mat1==14] = // ...
.
解决方案
推荐阅读
- excel - VBA Excel根据字符串的长度(字符数)定义单元格值
- javascript - WordPress 上的 PHP - 如果链接包含 ID“124”,则运行此 .js 文件
- ios - react-native-image-crop-picker ios 画廊关闭
- python - 熊猫合并,加入 加入列的问题
- python - 如何将从systemd服务中的bash脚本调用的python脚本的输出重定向到控制台和文件?
- r - 如何区分R中.png图像的材料?
- python - 如何将成员添加到现有的 Outlook 分发列表?
- postgresql - 为什么 postgres 更新一个简单的 JSONB 字段很慢?
- ruby - 我有一个不再生成的 order_id - 找不到我的 create 方法的问题
- django - 如何将 Django 项目转换为马来语(马来西亚)语言?尝试使用 ugettext_lazy 但它只支持流行语言