[問題] 如何取得子類的成員資料

看板C_and_CPP (C/C++)作者 (小天普)時間15年前 (2011/05/05 10:08), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
想請問一下版上的高手, 我有以下物件的物件結構程式碼, 假如我宣告一二維的vector矩陣 vector<vector<Class1*> > plane(10, vector<Class1*>(10)); 之後又將矩陣的每一個元素的兩個auto_ptr綁上Class2 for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { plane[i][j] = new Class1(new Class2(3, 4), new Class2(5, 6)); } } 請問我要怎麼取得plane[i][j]上func_a的member1與member2呢? 表達可能不太清楚 還請見諒 謝謝! [程式碼] struct Struct1 { virtual ~Struct1(){} virtual void func_a() = 0; virtual void func_b() = 0; }; class Class1 { public: Class1(Struct1 *func_a, Struct1 *func_b); void func_a(); void func_b(); auto_ptr<Struct1> do_func_a; auto_ptr<Struct1> do_func_b; }; Class1::Class1(Struct1 *func_a, Struct1 *func_b): do_func_a(func_a), do_func_b(func_b) { } void Class1::func_a() { do_func_a -> func_a(); } void Class1::func_b() { do_func_b -> func_b(); } class Class2 : public Struct1 { public: double member1, member2; Class2(double rmember1, double rmember2); virtual void func_a(); virtual void func_b(); }; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.217.49

05/05 11:11, , 1F
http://codepad.org/LsfRPMOG 知道自己在寫什麼很重要
05/05 11:11, 1F

05/05 11:12, , 2F
命名儘量不要加上阿拉伯數字, Design Pattern要當做常
05/05 11:12, 2F

05/05 11:12, , 3F
05/05 11:12, 3F

05/05 11:14, , 4F
ConcreteStrategy應分為兩種
05/05 11:14, 4F
文章代碼(AID): #1DmWQdsK (C_and_CPP)
文章代碼(AID): #1DmWQdsK (C_and_CPP)