0

C++ のクラス宣言には何を入れる必要がありますか?

たとえば、ヘッダー ファイルに次の内容があります。

class BoardState {
 public:
  BoardState();

  bool HasWon() const;
  bool HasMoves() const;
  bool MakeMove(const int column);
  bool UndoMove(const int column);

  const Chip (&grid() const)[kGridHeight][kGridWidth] { return grid_; }
  const Chip lastplayer() const { return lastplayer_; }

 private:
  Chip grid_[kGridHeight][kGridWidth];
  Chip turn_;
  Chip lastplayer_;
  int lastmove_;
  DISALLOW_COPY_AND_ASSIGN(BoardState);
};

このクラスの cpp ファイルは、多くの追加の小さなユーティリティ関数、型、および列挙型を定義します。これらはすべて、クラス宣言のプライベート セクションでも定義する必要がありますか?

4

1 に答える 1

0

通常は、補助機能をクラスの外に残すのが最善です。そうすれば、同様のクラスと同様の機能の関数をオーバーロードできます。

ただし、実装の一部であり、他のコンポーネントに対して何もしない/すべきではない小さなユーティリティは、privateメンバーにする必要があります。

于 2010-09-17T06:45:55.107 に答える