請問如何把Class放入Function的變數動態產生物件? |
尚未結案
|
collonil
中階會員 發表:13 回覆:56 積分:63 註冊:2003-03-26 發送簡訊給我 |
|
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
collonil 你好,
你的問題是 如何寫一個能處理相同物件的函數嗎?
如果是這樣, 函數宣告可以如下:
[code]
void Open(TMyForm* mf)
{
...
mf->init(); // TMyForm 的動作
...
return;
}
// 呼叫
Open(MyForm_A);
Open(MyForm_B); 如果, MyForm_A, MyForm_B, MyForm_C 代表是不同 class, 那麼
你得用繼承的觀念來解決, 多數的書上有的 請閱讀之.
若還有問題 歡迎再來討論
------
不要忘記呼吸,不要忘記編程! ∩__∩ |
collonil
中階會員 發表:13 回覆:56 積分:63 註冊:2003-03-26 發送簡訊給我 |
|
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
collonil 你好,
這樣的話呢 我提示一段程式碼給你, 你試試吧
我假設有依個 TMyFormBase 類別 做來其他相關類別的
共同父類別, class TMyFormBase {
public:
init();
}; clasee TMyForm_A : public TMyFormBase {
public:
init();
} clasee TMyForm_B : public TMyFormBase {
public:
init();
} // Open 函數
void Open(TMyFormBase* mf)
{
...
mf->init(); // TMyForm 的動作
...
return;
}
// 呼叫
Open(MyForm_A_Object_Pointer);
Open(MyForm_B_Object_Pointer); *真實的事物最美, 簡單的道理最好, 我能體會的 太少*
------
不要忘記呼吸,不要忘記編程! ∩__∩ |
collonil
中階會員 發表:13 回覆:56 積分:63 註冊:2003-03-26 發送簡訊給我 |
|
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
collonil 你好,
給你的程式片段, 只是呈現一個架構而已, 並不能成為
真正幫你解決的程式...因此 骨懂了 肉還是自己填上去喔 :) 當你定義好了 你所需要的類別, 就可以宣告變數了, 如
TMyFormBase *MyForm_A_Object_Pointer = new TMyForm_A();
然後呼叫 Open(MyForm_A_Object_Pointer);
是的, mf->Init() 是在你建立好物件後傳給 Open 函數後,
才可以被呼叫的. *真實的事物最美, 簡單的道理最好, 我能體會的 太少*
------
不要忘記呼吸,不要忘記編程! ∩__∩ |
collonil
中階會員 發表:13 回覆:56 積分:63 註冊:2003-03-26 發送簡訊給我 |
引言: 當你定義好了 你所需要的類別, 就可以宣告變數了, 如 TMyFormBase *MyForm_A_Object_Pointer = new TMyForm_A(); 然後呼叫 Open(MyForm_A_Object_Pointer); 是的, mf->Init() 是在你建立好物件後傳給 Open 函數後, 才可以被呼叫的.謝謝您熱心的回答, 我想您可能誤會我的問題了... 我希望 TMyForm *MyForm = new TMyForm(...) 可以在Open()內完成, 例如: Open(MyForm_A); //動態產生MyForm_A, class TMyForm_A Open(MyForm_B); //動態產生MyForm_B, class TMyForm_B TMyForm *MyForm = new TMyForm(...) 當中的 TMyForm 我不知道要如何用變數取代... |
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
|
collonil
中階會員 發表:13 回覆:56 積分:63 註冊:2003-03-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |