取得類別成員的位址? |
答題得分者是:aftcast
|
firewing
一般會員 發表:23 回覆:47 積分:19 註冊:2002-12-13 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
都沒人回我就簡單的講一下好了…
Size 是屬性(property),是bcb(delphi)特有的。它並非是「資料成員」也非「成員函式」。事實上當你叫用Size時,他是會去叫一個get這樣的"函式"來把真的資料成員給回傳出來… 如果說Size是自己的class中的一個資料成員,那無疑你的寫法應該是正確的。但可惜的是他並非是c 中標準的東西。 當然,也不了解你為何會想要知道那位址? 真正放size的那個資料成員一般都是在private裡面,你是無法直接得到的,這也是c 中 「物件導向」「封裝」的精神所在。所以最好別把它當 c 語言中的 struct 來看待它…想找到位址… 以上是個人的淺見,僅供參考。 ===================引 用 firewing 文 章=================== 請問各位大大,我想要取得,類別成員的位址,請問如何寫? TMemoryStream *mms= new TMemoryStream; int *len=&mms->Size; =>此行會錯誤,要如何寫才正確?
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
firewing
一般會員 發表:23 回覆:47 積分:19 註冊:2002-12-13 發送簡訊給我 |
謝謝 aftcast 的解釋,我了解了.
會這樣用是直接想用 MemoryStream 直接去接 char* ,length 想直接回傳到size, 不過無法如此用,只好再多加一個 int length 去接長度了. ===================引 用 aftcast 文 章=================== 都沒人回我就簡單的講一下好了… Size 是屬性(property),是bcb(delphi)特有的。它並非是「資料成員」也非「成員函式」。事實上當你叫用Size時,他是會去叫一個get這樣的"函式"來把真的資料成員給回傳出來… 如果說Size是自己的class中的一個資料成員,那無疑你的寫法應該是正確的。但可惜的是他並非是c 中標準的東西。 當然,也不了解你為何會想要知道那位址? 真正放size的那個資料成員一般都是在private裡面,你是無法直接得到的,這也是c 中 「物件導向」「封裝」的精神所在。所以最好別把它當 c 語言中的 struct 來看待它…想找到位址… 以上是個人的淺見,僅供參考。 ===================引 用 firewing 文 章=================== 請問各位大大,我想要取得,類別成員的位址,請問如何寫? TMemoryStream *mms= new TMemoryStream; int *len=&mms->Size; =>此行會錯誤,要如何寫才正確? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |