[問題] 有關存取class的private data member
想請問各位板友一個小問題...
請問:
如何在一個class的member function裡存取另一個class的private data member?
譬如說在Matrix這個class裡的函式
如果我傳一個VectorD這個class的object進去
想要存取裡頭的data member
題目要求要用VectorD下已經宣告的inline function
來讓外界access它的data member
class VectorD{
public:
//為了方便閱讀只貼出有問題的部分
inline double * GetDirectAccess() {return _data;}
inline int GetSize() {return _size;}
private:
int _size;
double * _data;
};
我在定義Matrix的member function裡
(Matrix裡也用了一個指標_data來存取一個偽二維矩陣)
但是無論是這樣寫:
// get the row vector
void Matrix::GetRowVector(int index, VectorD & receiver)
{
for (int i = 0; i < _cols; i++)
receiver.GetDirectAccess[i] = _data[index * _cols + i];
}
還是這樣寫:
// get the row vector
void Matrix::GetRowVector(int index, VectorD & receiver)
{
for (int i = 0; i < _cols; i++)
*(receiver.GetDirectAccess + i) = _data[index * _cols + i];
}
都會出錯
我不曉得問題在哪裡...
它回傳的不是一個指標嗎?
為什麼不讓我存取呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.35.1.66
→
12/16 23:35, , 1F
12/16 23:35, 1F
→
12/16 23:36, , 2F
12/16 23:36, 2F
→
12/16 23:36, , 3F
12/16 23:36, 3F
→
12/16 23:37, , 4F
12/16 23:37, 4F
→
12/16 23:41, , 5F
12/16 23:41, 5F
→
12/16 23:43, , 6F
12/16 23:43, 6F
推
12/16 23:48, , 7F
12/16 23:48, 7F
→
12/16 23:50, , 8F
12/16 23:50, 8F
→
12/16 23:51, , 9F
12/16 23:51, 9F
推
12/16 23:52, , 10F
12/16 23:52, 10F
→
12/16 23:52, , 11F
12/16 23:52, 11F
→
12/16 23:54, , 12F
12/16 23:54, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章