[問題] 類別裡的成員變數

看板C_and_CPP (C/C++)作者 (沒有名字的怪物)時間16年前 (2009/02/12 22:05), 編輯推噓3(306)
留言9則, 3人參與, 最新討論串1/1
依 小弟我讀的類裡 成員變數一般都是在private的層級 若其他類別要存取得要透過該類別的public函數沒錯吧?! 假若一次要存取的成員變數相當的多 各位大大有什麼方式呢?! 大概是類似以下的情況 要把類A的成員變數存到類B的成員變數(3個都過去) 希望能有高手指點!! Class A { private: int m_x,m_y,m_z; public: ? Get(?); }; Class B { private: int m_i,m_j,m_k; public: ?Set(?); }; void main() { A oA; B oB; }; -- 生命是個過程 可悲的是它不能重來 可喜的是它也不需要重來 ~~~童夢奇緣~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.124.66.197

02/13 01:50, , 1F
寫三個Get 函式 丟到Set(oA.Getx(),oA.Gety,oA.Getz);
02/13 01:50, 1F

02/13 01:50, , 2F
你意思是這樣嗎?
02/13 01:50, 2F

02/13 06:15, , 3F
依我這例子ok但是若有30個呢?!我希望是一個function搞定
02/13 06:15, 3F

02/13 08:05, , 4F
friend呢?
02/13 08:05, 4F

02/13 14:50, , 5F
在這種狀況下你可能要考慮是否還是要封裝
02/13 14:50, 5F

02/13 14:51, , 6F
一個有三十個getter和三十個setter的class不算是個
02/13 14:51, 6F

02/13 14:52, , 7F
好設計,如果它不需要維護state的話,struct會是
02/13 14:52, 7F

02/13 14:52, , 8F
比較好的選擇
02/13 14:52, 8F

02/13 15:02, , 9F
你說類別裡存個STRUCT當介面?
02/13 15:02, 9F
文章代碼(AID): #19b2oRFi (C_and_CPP)
文章代碼(AID): #19b2oRFi (C_and_CPP)