这是Emule源码:
CUInt128::CUInt128(const CUInt128 &uValue, UINT uNumBits)
{
// Copy the whole ULONGs
UINT uNumULONGs = uNumBits / 32;
for (UINT iIndex=0; iIndex<uNumULONGs; iIndex++)
m_uData[iIndex] = uValue.m_uData[iIndex];
//这里的m_uData[iIndex]是CUInt128类的私有成员变量,这样子的访问是可行的,就是不知道原因,记起以前百度百科见过的C++ string,也有这样的用法,知道怎么回事的请多多指教,谢谢各位先了!
// Copy the remaining bits
for (UINT iIndex=(32*uNumULONGs); iIndex<uNumBits; iIndex++)
SetBitNumber(iIndex, uValue.GetBitNumber(iIndex));
// Pad with random bytes (Not seeding based on time to allow multiple different ones to be created in quick succession)
for (UINT iIndex=uNumBits; iIndex<128; iIndex++)
SetBitNumber(iIndex, (rand()%2));
}
本类成员函数访问本类的成员,想一下这个我知道!
但是现在是本类对象访问它原来自己的private,不是成员函数在访问。
再求指导!!