全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:985
推到 Plurk!
推到 Facebook!

請幫我看看這個程式…

答題得分者是:dllee
PhotoRGB
一般會員


發表:3
回覆:5
積分:1
註冊:2002-08-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-20 07:00:26 IP:218.32.xxx.xxx 未訂閱
#include "stdio.h" class object_1 { int data; public: void report() { printf("> this : %p ", this); } }; class object_2 { char data; public: void report() { printf("> this : %p ", this); } }; void main() { void * a; void * b; a = new object_1; b = new object_2; (*(object_1 * )a).report(); printf("object_1 of a\n"); //^^^^^^^^^^^^^^^^^ 就是這個地方不懂… (*(object_2 * )b).report(); printf("object_2 of a\n"); }
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-20 11:25:48 IP:61.231.xxx.xxx 未訂閱
引言: void main() { void * a; void * b; a = new object_1; b = new object_2; (*(object_1 * )a).report(); printf("object_1 of a\n"); //^^^^^^^^^^^^^^^^^ 就是這個地方不懂… (*(object_2 * )b).report(); printf("object_2 of a\n");
一般來說,我們會寫成 a->report(); printf("object_1 of a\n"); b->report(); printf("object_2 of b\n"); 不同的地方是 -> 及 . 的不同 在程式中, a 是一個 object_1 的指標,所以 (object_1 * )a 只是「多此一舉」地再次告訴您這件事。 (*(object_1 * )a) 則是取得 a 指標所指到的「內容」,這個「內容」就是 object_1 所以可以使用 .report() 來叫用 object_1 的 report() 真不懂?為何要將程式寫得那麼難懂,是故意的嗎? 不過這段程式碼給了我一些靈感 ... 如何讓自己的程式變得複雜難懂 沒空更新的網頁...<><>< src="http://www.taconet.com.tw/dllee/gif/dlleebn.gif">
C及指標教學 http://coolsite.to/dllee介紹Shells http://coolsite.to/ushells
------
http://www.ViewMove.com
PhotoRGB
一般會員


發表:3
回覆:5
積分:1
註冊:2002-08-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-21 09:19:25 IP:218.32.xxx.xxx 未訂閱
引言: 一般來說,我們會寫成 a->report(); printf("object_1 of a\n"); b->report(); printf("object_2 of b\n"); 不同的地方是 -> 及 . 的不同 在程式中, a 是一個 object_1 的指標,所以 (object_1 * )a 只是「多此一舉」地再次告訴您這件事。 (*(object_1 * )a) 則是取得 a 指標所指到的「內容」,這個「內容」就是 object_1 所以可以使用 .report() 來叫用 object_1 的 report() 真不懂?為何要將程式寫得那麼難懂,是故意的嗎? 不過這段程式碼給了我一些靈感 ... 如何讓自己的程式變得複雜難懂 沒空更新的網頁...<><>< src="http://www.taconet.com.tw/dllee/gif/dlleebn.gif">C及指標教學 http://coolsite.to/dllee介紹Shells http://coolsite.to/ushells
感謝你的回覆…因是初學者,很多地方不懂…這個程式也不是我寫的… 在一個網站上看到的…謝謝你解說的這麼詳盡…
系統時間:2024-04-20 20:00:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!