怎麼複製類別的資料? |
尚未結案
|
liangnet
中階會員 發表:19 回覆:148 積分:83 註冊:2004-01-03 發送簡訊給我 |
有一個類別定義如下:
class A :public TObject { public: A(); int Value; AnsiString Text; void XXX(); ... }; 然後執行下行: A *a1 = new A; A *a2 = new A; a1->Value = 100; a1->Text = "Text";然後我想做a2 = a1(是"資料"複製過去,不是將位址丟給a2),即意思將a1的資料全部複製到a2。因為我a2是新建立的物件,但是一開始資料需要參考跟a1的一樣。 請問有什麼方法可以這樣做。還是只有一個屬性一個屬性複製,如: a2->Value = a1->Value; ..... 發表人 - liangnet 於 2004/03/17 17:24:47 |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 有一個類別定義如下:class A :public TObject { public: A(); int Value; AnsiString Text; void XXX(); ... }; 然後執行下行: A *a1 = new A; A *a2 = new A; a1->Value = 100; a1->Text = "Text";然後我想做a2 = a1(是"資料"複製過去,不是將位址丟給a2),即意思將a1的資料全部複製到a2。因為我a2是新建立的物件,但是一開始資料需要參考跟a1的一樣。 請問有什麼方法可以這樣做。還是只有一個屬性一個屬性複製,如: a2->Value = a1->Value; ..... liangnet 你好: (1)你可以在 class 的 constructor 裡面動手腳,請參考以下的範例程式碼 Text="">Value; Text=aaa->Text;}; int Value; AnsiString Text; }; AAA *a1=new AAA; a1->Value=123; a1->Text="test"; AAA *a2=new AAA(a1); ShowMessage(a2->Value); ShowMessage(a2->Text); delete a2; delete a1; (2)請再依照自己的需求,自行修改-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
liangnet
中階會員 發表:19 回覆:148 積分:83 註冊:2004-01-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |