[問題] class 間傳遞變數

看板C_and_CPP作者 (Nicle)時間15年前 (2010/10/21 12:53), 編輯推噓5(5010)
留言15則, 6人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 在 Class A 裡 有一個 constructor ( A( int num) {...} ) 我想把 num 傳給 Class A 裡的一個程式 讓它 (num) 印出來 也傳給 Class B 裡的一個程式 也要 印出 num Class B:public A{ public: ..... ..... void print(){ .... } } 請問有什麼方法可以讓B的程式印出 Class A 裡的變數 希望得到的正確結果: 程式跑出來的錯誤結果: 我直接用 cout<<"..."<<num; 在 Class B 的 print 它只印出地址 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++ 2010 有問題的code: (請善用置底文標色功能) 補充說明: 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 72.211.146.183 ※ 編輯: ritchie7519 來自: 72.211.146.183 (10/21 12:54)

10/21 13:04, , 1F
一定在執行B的函數前 (負責列印),把 A 的物件參考傳過去
10/21 13:04, 1F

10/21 13:04, , 2F
有了A的物件參考,才能印出A的num
10/21 13:04, 2F

10/21 13:05, , 3F
可以直接用阿 但是你考慮class A變數在繼承後的權限~
10/21 13:05, 3F

10/21 13:43, , 4F
請問要怎麼設參考呢 對C++ 很不熟 :(
10/21 13:43, 4F

10/21 13:46, , 5F
先別管參考,我剛講的不對:http://codepad.org/UYUNCE84
10/21 13:46, 5F

10/21 13:46, , 6F
這樣子應該就是你要的吧
10/21 13:46, 6F

10/21 14:23, , 7F
你想要達成怎樣的功能?
10/21 14:23, 7F

10/21 14:40, , 8F
知道未出生的孩子是誰, 感覺怪怪的...
10/21 14:40, 8F

10/21 14:48, , 9F
奇怪再仔細看一下原po描述 原po到底要做什麼?
10/21 14:48, 9F

10/21 14:51, , 10F
很明顯的 num 應該算是 class A 的一個「state」, 可
10/21 14:51, 10F

10/21 14:52, , 11F
以用一個成員來儲存, 而要讓子類別 B 也能存取得到,不
10/21 14:52, 11F

10/21 14:52, , 12F
是直接將其成員開放, 就是使用 protected 來達成封裝
10/21 14:52, 12F

10/21 14:53, , 13F
的效果
10/21 14:53, 13F

10/21 15:02, , 14F
10/21 15:02, 14F

10/21 20:44, , 15F
文章代碼(AID): #1ClyTJky (C_and_CPP)