В этом коде для чего я могу получить доступ к частному члену объекта без ошибки компилятора?Доступ к закрытым членам C++
class Cents
{
private:
int m_nCents;
public:
Cents(int nCents=0)
{
m_nCents = nCents;
}
// Copy constructor
Cents(const Cents &cSource)
{
m_nCents = cSource.m_nCents;
}
Cents& operator= (const Cents &cSource);
};
Cents& Cents::operator= (const Cents &cSource)
{
cSource.m_nCents частный, почему я могу сделать следующее:
m_nCents = cSource.m_nCents;
// return the existing object
return *this;
}
Если это похоже на Java, это происходит потому, что экземпляры одного и того же класса могут без проблем обращаться к полям других экземпляров. Поля являются закрытыми для класса, а не экземплярами. – fge
Вы очень новичок в объектно-ориентированной парадигме? – Lion
Если класс не смог получить доступ к своим собственным переменным-членам, кто мог? –