温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Accessing private members c++
c++ private

其他 - 访问私有成员C ++

发布于 2020-03-31 23:35:41

在这段代码中,为什么我可以在没有编译器错误的情况下访问对象的私有成员?

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;
}

查看更多

提问者
elios264
被浏览
22
Oliver Charlesworth 2011-12-18 03:58

因为private表示“ 对类可见 ”,而不是“ 对对象可见 ”。