在此代碼中,爲什麼我可以訪問沒有編譯器錯誤的對象的私有成員?訪問私有成員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 2011-12-17 19:59:50
你對面向對象的範例很陌生嗎? – Lion 2011-12-17 20:00:55
如果一個類不能訪問自己的私有成員變量,誰可以? – 2011-12-17 20:08:52