這是我在Stackoverflow上的第一個問題。我正在使用C++在GP142上創建一個繪圖程序,而且我無法重新創建畫布。 當加載程序,它要求(包含x和y或頂點)的點,並創建一個形狀(這是一類)通過結合所有這些點。我將點保存在一個點*向量中:如何創建對象變量,以便每次都分配新的指針?
vector<shape*> arr;
當一個形狀完成時,它應該保存在向量數組中。我正在使用它來保存它:
line l(points,2); //2 is num of points
l.draw();
arr.push_back(&l);
有5種不同的形狀類型,並且都是在一個while(true)循環內創建的,它終止於菜單選擇。從菜單中選擇撤消,最後創建的形狀將被刪除。 我使用其刪除:
if (arr.size() > 0) {
for (int i = 0;i < arr.size() - 1;i++) {
arr[i]->draw();
}
arr.pop_back();
}
當我做撤消,它會刪除所有同類型的形狀。喜歡它刪除我創建的所有行。有沒有我可以區分所有線和其他變量,因此他們可能被顯式刪除任何方法?
謝謝。
如果(arr.size()> 0) 實際上意味着同一 –