В отношении класса has-a должен ли реализованный класс реализовываться внутри класса., - PullRequest
0 голосов
/ 23 ноября 2010

В отношении класса has-a должен ли реализованный класс реализовываться внутри класса, который его содержит, или он может быть записан полностью отдельно в другом файле?

Например:

скажем:

class Pen
{
   public:
   .
   .
   .

   private:
      Ball point;
};

Может ли класс Ball находиться в отдельном заголовочном файле или я должен реализовать его в классе Pen?

Ответы [ 2 ]

1 голос
/ 23 ноября 2010

Это может быть в любом случае.Если class Ball не предназначен для использования только в class Pen, вы должны реализовать его отдельно - как отдельный класс в том же файле или в другом файле.

В любом случае C ++ не волнует, сколько файлов находятся в реализациях.,Делайте так, как вам удобно.

1 голос
/ 23 ноября 2010

Да, Ball может быть в своем собственном файле:

Ball.h

class Ball
{
} // eo class Ball

Pen.h

#include "ball.h"

class Pen
{
private:
    Ball point;
} // eo clas Pen
...