0
我寫了一個非常小的程序,使用類,繼承和多態。在主要部分中,我已經使用new聲明瞭一個指針,當我調用delete並調試程序時,它會崩潰。C++調試斷言失敗指針
反正這裏是我的代碼
#include <iostream>
using namespace std;
class Shape{
protected:
int height;
int width;
public:
void getVal(int num1, int num2){
height = num1;
width = num2;
}
int printVal(){
return (width * height);
}
};
class Rectangle: public Shape{};
int main(){
Rectangle rec;
Shape* shape = new Rectangle;
shape = &rec;
shape ->getVal(2,2);
cout << "Your answer is: " << shape ->printVal() << endl;
delete shape;
system("pause");
return 0;
}
謝謝
你能告訴我從我的代碼,這將是很好@Igor Tandetnik – user3264250
我應該怎麼做才能夠調用刪除就可以了@Igor Tandetnik – user3264250
你應該一)跌落'矩形REC;'和'形狀= &rec; '線條,和b)給'形狀'虛擬析構函數。 –