看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《starmovie (盜族)》之銘言: : 以下是原本的程式碼 : #include <iostream> : #include <cstdlib> : using namespace std; : class CWin : { : public: private: : char id; : int width,height; : int area() : { : return width*height; : } : void show_area(void) : { : cout << "window " << id << ", area=" << area() << endl; : } friend void show_area(const CWin & cw) { cout << "window " << cw.id << ", area=" << cw.width*cw.height << endl; } : void set_data(char i,int w,int h) : { : id=i; : width=w; : height=h; : } : void set_data(char i) : { : id=i; : } : void set_data(int w,int h) : { : width=w; : height=h; : } : }; : int main(void) : { : CWin win1,win2; : win1.set_data('A',50,40); : win2.set_data('B'); : win2.set_data(80,120); : win1.show_area(); show_area(win1); : win2.show_area(); : system("pause"); : return 0; : } : 現在想把id,width,height的成員存取屬性改成private : 然後也把set_data()改成friend函數,可是我想很久想不出來怎麼改= = : 麻煩各位大大指點一下= = : 謝謝!! 試試看吧 如果可以的話 可以試著把宣告和定義分開 -- 沒有吧?! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.244.36
starmovie:可是D大好像沒改set_data()~我主要想改這個= = 02/15 22:46
starmovie:不過還是謝謝D大的回應~ 02/15 22:46
cfbbq:friend void set_data(char i,int w,int h,const CWin& cw) 02/15 22:54
starmovie:請問一下是把win1當成set_data引數,然後裡面內容寫 02/15 23:11
starmovie:cw.id=i 類似這樣的嗎? 02/15 23:11
dendrobium:既然是set data, cw就不會是const啦 02/15 23:15
dendrobium:你寫寫看就知道囉 不難滴~ 02/15 23:16
starmovie:嗯嗯~謝謝阿 02/16 01:06
cfbbq:sorry,沒注意看,沒有const。 02/16 09:21