标题:关于devc++中,析构函数的问题
取消只看楼主
ljhwahaha
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-13
 问题点数:0 回复次数:7 
关于devc++中,析构函数的问题

我用devc++编写了下列程序用于检验类中构造函数和析构函数的运行时间

#include <cstdlib>
#include <iostream>
#include <stdio.h>
using namespace std;
class Date
{
public:
Date ();
~Date ();
void SetDate(int y,int m,int d);
int IsLeapYear()const;
void PrintDate()const;
private:
int year,month,day;
};
Date:: Date () //构造函数
{cout<<"Date object initialized.\n";}
Date:: ~ Date() //析构函数
{cout<<"Date object destroyed.\n";}
void Date:: SetDate(int y, int m, int d)
{year=y;month=m;day=d;}
int Date:: IsLeapYear() const
{
return(year%4==0&&year%100!=0)||(year%400==0);
}
void Date:: PrintDate() const
{cout<<year<<"/"<<month<<"/"<<day<<endl;}

int main(int argc, char *argv[])
{
Date d;
d.SetDate(2001,10,1);
d.PrintDate();
system("PAUSE");
return EXIT_SUCCESS;
}

但输出的结构并没有 Date object destroyed. 这一句,也就是说没执行到析构函数,为什么会这样呢? 是因为 system("PAUSE"); 的影响吗?有办法解决吗?

搜索更多相关主题的帖子: devc 函数 
2007-03-13 21:51
ljhwahaha
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-13
得分:0 

键入回车后,那个输出结果的窗口就没了,应该说键入任意键那个窗口都会消失````仍然看不到吖

2007-03-13 22:12
ljhwahaha
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-13
得分:0 

怎样换编译器吖? 我不会这个吖。

还有没有其他办法?? 能不用system("PAUSE"); 吗?
2007-03-13 22:23
ljhwahaha
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-13
得分:0 
但输出结果的框一弹出来就没了,很不方便。 除了system("PAUSE"); ,还有没有其他能保留结果输出框的方法吖?
2007-03-13 22:29
ljhwahaha
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-13
得分:0 
你是用devc++ 的吗? 我不用system("PAUSE"); 的话,根本保留不了输出框喔```
2007-03-13 22:44
ljhwahaha
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-13
得分:0 
以下是引用song4在2007-3-13 22:36:58的发言:

你可以用
getch()试试

很奇怪,如果用getch()的话,输出结果也只有
Dateobject initialized.
2001/10/1

2007-03-13 22:53
ljhwahaha
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-13
得分:0 

请问怎样插吖?我的vc++用不了

2007-03-13 23:51
ljhwahaha
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-13
得分:0 

嗯嗯,是好办法!!!
还有个办法就是构造一个函数,将
Date d;
d.SetDate(2001,10,1);
d.PrintDate();
system("PAUSE");
都放到里面,再在main里面调用

2007-03-15 22:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-124078-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.062831 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved