#include <iostream> using namespace std; class clock { public: clock(int h, int m, int s) {cout<<"我先走"<<endl; hour=h;minute=m;sec=s; } ~clock() {cout<<"我撤后"<<endl;} void display() {cout<<hour<<":"<<minute<<":"<<sec<<endl;} private: int hour,minute,sec; };
void main() { clock t1(11,59,59); t1.display(); //显示输出函数 }
想问一下,为什么析构函数~clock() 放在了void display() 的前面。这样要是输出的话,11:59:59不应该是最后输出吗?
你丫的,代码写这样让人怎么看????
不管编写顺序怎么样,析构函数都是最后才进行的,且是当程序退出时才调用析构函数。
所以输出结果是正确的!
#include <iostream>
using namespace std;
class clock {
public:
clock(int h, int m, int s) {
cout<<"我先走"<<endl;
hour=h;
minute=m;
sec=s;
}
~clock() {
cout<<"我撤后"<<endl;
}
void display() {
cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
private:
int hour,minute,sec;
};
void main() {
clock t1(11, 59, 59);
t1.display(); //显示输出函数
}