【问题标题】:How to prevent a base class from inheritance in C++? [duplicate]如何防止基类在 C++ 中继承? [复制]
【发布时间】:2020-06-01 09:27:02
【问题描述】:

我不想将基类派生为新类。有没有办法实现这一目标? 我想告诉编译器,你不能像java中的final关键字那样继承基类

【问题讨论】:

  • 在c++11中你可以使用class Base final {
  • 不要挑剔,但如果一个类不能派生它就不能是基类,
  • 私有构造器,如单调设计模式
  • @IonutAlexandru 将构造函数设为私有的一个后果是你不能从类继承,但这并不意味着当你想要一个最终类时,你应该将构造函数设为私有。私有构造函数有其他后果

标签: c++ inheritance


【解决方案1】:

您可以将类标记为final 以防止从它派生。例如:

class A final { ... };

【讨论】:

  • 以防万一我会提到 final 自 c++ 11 起可用
猜你喜欢
  • 2015-03-17
  • 2016-11-14
  • 2011-01-12
  • 1970-01-01
  • 2015-11-16
  • 1970-01-01
  • 2012-02-05
  • 2015-08-09
相关资源
最近更新 更多