c++ - C++:实现公共接口函数,作为私有
问题描述
我想了解为什么我能够在接口类中声明一个纯虚拟方法,但是在实现它时,我可以将其设为私有并且编译器不会尖叫。
class I_A {
public:
void A1 () = 0;
}
class A : public I_A {
private:
A1();
}
我什至可以添加“覆盖”关键字来明确表明我正在覆盖这个方法,并且仍然是一个成功的构建。
一个相关的问题应该是 - 在抽象类中定义私有方法没有任何好处。但是,仍然有可能。做什么的?最后,方法(私有/公共)的可见性不是应该传递给其继任者的属性的一部分吗?
解决方案
推荐阅读
- ios - 如何解决 Xcode 10 中的错误:多个命令产生....../字体
- c# - 替换显示在布尔属性中的文本
- r - verbatimTextOutput 附加文本
- python - 如何在 Python (Mac) 中将扫描的 PDF 转换为可搜索的 PDF?例如 OCRMYPDF 模块
- java - 单例 Bean 上的 Spring @Async
- javascript - 如何使用javascript更改id值?
- python-3.x - 您如何确保请求/响应正文的查询部分是 x-www-form-urlencoded?
- google-apps-script - 如何将地址建议框中的值绑定到客户的地址字段?
- android-studio - FAILURE:构建失败并出现异常。任务“:app:packageRelease”执行失败
- ios - iOS图表 - 将Y值标签放在底部而不是圆圈的顶部