我有一個基類玩具和派生類Toy_remote_car和Toy_battery_car。用雙指針動態分配
我這樣做:
Toy** ptr;
ptr=new Toy*;
ptr[0]=new Toy_remote_car[1];
ptr[1]=new Toy_battery_car[1];/*this is completely wrong according to my teacher because i never created ptr[1]. Instead this is a misuse of memory according to him.*/
上面的代碼(PTR =新玩具*)是創造型玩具的單個指針(PTR [0]),它包含派生類Toy_remote_car的對象。
現在我想寫這樣的代碼:
- >的玩具類型指針的數目不應當被預定義。
- >相反,我會調用一個add_toy函數,它會創建一個指向我想要的對象類型的ptr。此外,如果我再次調用add_toy函數,它不應該將數據分配給previos ptr,但它應該創建一個新的ptr。以下約定可能會有所幫助:
ptr[0]=new Toy_remote_car[1];
/*we want to add more toys so add_toy function called. A check is applied.*/
/*The check checks that ptr[0] already contains a value so it creates another pointer ptr[1]*/
ptr[1]=new Toy_battery_car[1];
- >此外,我將能夠訪問所有以前的數據。簡而言之:
ptr[0]//contains one type of data.
ptr[1]//contains another type.
//and so on
- >所以每當被增加了一個新玩具時,將自動創建型玩具的一個指針(PTR)。
我希望我已經很好地解釋了我在這段代碼中實現的內容。
請在這方面幫助我。
感謝
**爲什麼在這個世界上**你是否在免費店裏分配指針?!?! – 2011-04-19 20:51:43