当前位置:  开发笔记 > 编程语言 > 正文

*你*使用C++ ABC构造函数做什么?

如何解决《*你*使用C++ABC构造函数做什么?》经验,为你挑选了1个好方法。

人们在这里使用C++抽象基类构造函数?我说的是没有数据成员且没有非纯虚拟成员的纯接口类.

任何人都可以用有用的方式展示任何使用ABC构造函数的习语吗?或者它只是固有的使用ABCs实现接口,它们保持空,内联和保护?



1> ChrisW..:

任何人都可以用有用的方式展示任何使用ABC构造函数的习语吗?

这是一个例子,虽然它是一个人为的,不常见的例子.

您可以使用它来保留所有实例的列表:

class IFoo
{
private:
  //static members to keep a list of all constructed instances
  typedef std::set Set;
  static Set s_set;

protected:
  //new instance being created
  IFoo()
  {
    s_set.insert(this);
  }

public:
  //instance being destroyed
  virtual ~IFoo()
  {
    s_set.remove(this);
  }

  ... plus some other static method and/or property
      which accesses the set of all instances ...
};

或者它只是固有的使用ABCs实现接口,它们保持空,内联和保护?

更常见的是,他们根本就没有宣布!没有理由声明它们:

空和内联=>为什么懒得申报呢?

受保护=> ABC可能已经有一些纯虚方法,因此除了作为子类之外,已经无法实例化.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有