Почему я могу получить доступ к закрытым переменным в конструкторе копирования?

Я узнал, что никогда не могу получить доступ к частной переменной, только с помощью функции получения в классе. Но тогда почему я могу получить к нему доступ в конструкторе копирования?

Пример:

Field::Field(const Field& f)
{
  pFirst = new T[f.capacity()];

  pLast = pFirst + (f.pLast - f.pFirst);
  pEnd  = pFirst + (f.pEnd - f.pFirst);
  std::copy(f.pFirst, f.pLast, pFirst);
}

Мое объявление:

private:
  T *pFirst,*pLast,*pEnd;
78
задан demonking 8 November 2010 в 10:57
поделиться