Re: [問題] 全域變數宣告在哪?

看板C_and_CPP (C/C++)作者 (好人超)時間16年前 (2009/05/10 00:07), 編輯推噓5(508)
留言13則, 5人參與, 最新討論串2/3 (看更多)

05/09 23:46,
阿 兩個form間的關係 就是form1點某button會出現form2
05/09 23:46

05/09 23:46,
而設定form2時會用到form1的變數..
05/09 23:46
我之前也寫過這樣的程式。 我的做法是: 1. 對於 Form2 需要用到的變數,Form1 準備相應的 getter class Form1 { public: string ^ getS() { return this->s; } private: string ^s; } 2. 讓 Form2 的建構子能夠傳進 Form1 並存起來 class Form2 { public: Form2(Form1 ^f) { form1 = f; } foo() { string ^s = form1->getS(); // 這樣就可以對這個變數 s 操作了 } private: Form1 ^form1; } 3. 在 Form1 建立 Form2 時,把自己傳進去 Form1裡的某個函式() { Form2 ^form2 = gcnew Form2(this); } 程式碼並不完全正確,參考意思就好 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.63.38

05/10 00:15, , 1F
推好文 不過如果兩個變數以上呢
05/10 00:15, 1F

05/10 00:15, , 2F
要寫多個getS?
05/10 00:15, 2F

05/10 00:21, , 3F
那也是個方法 就看你要怎麼變化了
05/10 00:21, 3F

05/10 00:23, , 4F
對了 那如果是宣告int i 也可用降傳嗎?因為string是指標
05/10 00:23, 4F

05/10 00:31, , 5F
或許可以直接用 int *getI() {...} 之類的
05/10 00:31, 5F

05/10 00:31, , 6F
老實說我不知道這樣的寫法好不好...oz
05/10 00:31, 6F

05/10 00:35, , 7F
語法看不懂...@@
05/10 00:35, 7F

05/10 01:13, , 8F
多參數應該可以使用struct
05/10 01:13, 8F

05/10 01:22, , 9F
同意樓上,如果要共享的東西太多,就用struct或class包裝
05/10 01:22, 9F

05/10 01:49, , 10F
全域變數宣告在c/cpp檔,在h檔全域範圍用extern
05/10 01:49, 10F

05/10 11:16, , 11F
05/10 11:16, 11F

05/10 11:56, , 12F
回 dov1706,但我是兩個不同.h檔 降會失敗...
05/10 11:56, 12F

05/10 15:30, , 13F
原C++可 沒碰CLR或許差別在這 :)
05/10 15:30, 13F
文章代碼(AID): #1A1QfDMv (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1A1QfDMv (C_and_CPP)