在QT环境下,实例分析构造函数与析构函数的执行时机
2014-07-29 14:03
721 查看
#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 说明定义对象时,会调用类的构造函数;定义以后,程序将要结束,对象的生存期也到了,所以调用析构函数! /************************************************************************************************/
相关文章推荐
- 信管14:构造函数和析构函数执行分析示列
- 临时对象构造函数和析构函数的执行时机
- JavaScript执行环境及作用域链实例分析
- Java静态变量初始化及构造函数的执行顺序与执行时机分析
- [QT]QT教程之实例分析[三] 实现QQ抽屉效果(QToolBox 和QToolButton)
- [QT]QT教程之实例分析[四]多窗口文档[QWorkspace]
- ELF可执行格式文件实例分析
- 构造函数与析构函数何时执行
- Javascript 构造函数 实例分析
- [QT]QT教程之实例分析[八]获取IP (QHostInfo)
- Javascript 构造函数 实例分析
- [QT]QT教程之实例分析[四]多窗口文档[QWorkspace]
- [QT]QT教程之实例分析[九] 网络广播程序(QUdpSocket)
- [QT]QT教程之实例分析[六]综合布局实例
- [QT]QT 教程之实例分析[七]电子钟
- System.Web.UI.Page类的构造函数的执行时机
- c++ 构造函数,复制构造函数,赋值构造函数,析构函数调用时机
- 派生类构造函数和析构函数的执行顺序
- [QT]QT教程之实例分析[五]堆栈窗体 (QStackedWidget)
- [QT]QT教程之实例分析[八]获取IP (QHostInfo)