我有C++運行我的程序與參數2.4
其輸出打印出一個圓圈爲什麼我的程序不會對任何參數做出反應?
#include <iostream>
#include <stdlib.h>
#include "circle.h" // contains the Circle class
using namespace std;
void print_circle_attributes(float r) {
Circle* c = new Circle(r);
cout << "radius: " << c->get_radius() << endl;
cout << "diameter: " << c->get_diameter() << endl;
cout << "area: " << c->get_area() << endl;
cout << "circumference: " << c->get_circumference() << endl;
cout << endl;
delete c;
}
int main(int argc, const char* argv[]) {
float input = atof(argv[0]);
print_circle_attributes(input);
return 0;
}
的屬性,一個簡單的測試程序:
radius: 0.0
diameter: 0.0
area: 0.0
circumference: 0.0
我以前測試程序沒有參數,但只是使用靜態值,它運行得很好;所以我知道我的班級沒什麼問題...
那麼我在這裏做錯了什麼?
請教你如何使用'new',無視它。只需寫出'Circle c(r);',否'new',否'delete',無指針。魔法! –
哦,這裏有很好的學習資料(http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。 –
我特別使用new關鍵字,因爲我想在堆上創建對象,而不是在堆棧上,所以它更安全,因爲它不會冒棧溢出的風險(雖然單個對象不會做任何事情,但仍然) –