-1

我刚刚看到一个抽象类,它有一些私有函数......我只是好奇抽象类的私有函数有什么意义?

我想孩子们不会拥有它们。那有什么意义呢?

4

1 回答 1

0

正如 juanchopanza 指出的那样,拥有私有虚拟设备可能有正当理由。但是抽象类也可能有非虚拟私有数据的原因。

也许您的印象是抽象类没有数据成员,只有纯虚函数?不是这种情况。一个类可能有很多数据成员和非虚成员函数,只要它至少有一个纯虚成员函数,它仍然是抽象的。

class abstract_base {
  public:
  //functionality that derived classes must implement:
  virtual int func1() = 0;

  //functionality that derived classes can't override:
  int get_count() const { return count_; }

  private:
    int count_;
  };

也许是一个愚蠢的例子,但你明白了。

于 2013-06-09T03:27:58.500 回答