16. august 2010 - 18:29
Der er
4 kommentarer og 1 løsning
C++ Classes Destructors
Hej jeg sidder og laver noget med classes og jeg kan ikke få destructors til at virke jeg følger en guide om classes og de har lavet den her kode #include <iostream> using namespace std; class Point { public: Point(float f_x = 1.0, float f_y = 1.0, float f_z = 1.0); ~Point(); private: float x, y, z; protected: }; Point::Point(float f_x , float f_y , float f_z) { cout << "We're in the constructor with arguments " << (int)this << endl; x = f_x; y = f_y; z = f_z; } Point::~Point() { cout << "We're in the destructor... we're about to go to oblivion " << (int)this << endl; } void main() { Point myLocation(23, 54, 65); Point dansLocation; system("Pause"); } men når jeg compiler og kører programmet så viser den ikke cout << "We're in the destructor... we're about to go to oblivion " << (int)this << endl; betyder det at den ikke virker?
Annonceindlæg fra Infor
16. august 2010 - 19:05
#1
Proev med: void f(*) { Point myLocation(23, 54, 65); Point dansLocation; } void main() { f(); system("Pause"); } det er nenmlig lidt usikkert om destructor naar at blive kaldt inden programmet afslutter.
16. august 2010 - 19:07
#2
Med en Mingw GCC 4.4.2 virker det som tiltaenkt: We're in the constructor with arguments 2293556 We're in the constructor with arguments 2293544 Press any key to continue . . . We're in the destructor... we're about to go to oblivion 2293544 We're in the destructor... we're about to go to oblivion 2293556 men derfor kan det godt virke anderledes med en anden compiler.
16. august 2010 - 19:08
#3
Og et par smaating: int main() ikke void. Naar du bruger system boer du have en: #include <cstdlib>
16. august 2010 - 19:35
#4
Hej jeg prøvede med void f() { Point myLocation(23, 54, 65); Point dansLocation; } int main() { f(); system("Pause"); } og det virker fint og jeg plejer også at bruge int main() jeg brugte kun void fordi det gjorde de i guiden Tak for hjælpen :D smid et svar
16. august 2010 - 20:06
#5
svar
Kurser inden for grundlæggende programmering