#include <QDeBug>
//#include <QApplication>
class Box
{
private:
double length;
public:
Box(double lv=1.0):length(lv)//构造函数都没有返回值
{
qDebug() << "constructor called" << endl;
}
~Box()//析构函数
{
qDebug() << "destructor called" << endl;
}
};
int main(int argc,char *argv[])
{
//QApplication a(argc,argv);
Box box(2.3);
while(1)
{
;
}
//return a.exec();
}
/*****************************/
运行程序,会输出:<span style="font-family:'Courier';color:#aa0000;font-size:10pt;">constructor called</span>
说明定义对象时,会调用类的构造函数;后面遇到while函数,程序一直在循环,box对象一直都存在,没有调用析构函数!
/***********************************************************************************************************/
<pre name="code" class="cpp">#include <QDeBug>
//#include <QApplication>
class Box
{
private:
double length;
public:
Box(double lv=1.0):length(lv)//构造函数都没有返回值
{
qDebug() << "constructor called" << endl;
}
~Box()//重写的析构函数(重写是对继承类对基类的重新构造,这里表述不对)
{
qDebug() << "destructor called" << endl;
}
};//万恶的分号,我老是忘掉
int main(int argc,char *argv[])
{
//QApplication a(argc,argv);
Box box(2.3);
//return a.exec();
}
/*****************************/
运行程序,会输出:constructor called destructor called
说明定义对象时,会调用类的构造函数;定义以后,程序将要结束,对象的生存期也到了,所以调用析构函数!
/************************************************************************************************/