注册 登录
编程论坛 C++教室

关于析构函数,帮帮忙

悬崖上的爱 发布于 2012-03-15 16:41, 598 次点击
这里面要用到析构函数,请问怎么修改。我调试没有错误,但是运行就出错了。
#include
using namespace std;
class Date
{
  private:int year;
          int month;
          int day;
  public:Date()
         {
         }
         Date(int yearnew,int monthnew,int daynew)
         {
             year=yearnew;
             month=monthnew;
             day=daynew;
         }
         void showDate()
         {
             cout<<YEAR<<"年"<<MONTH<<"月"<<DAY<<"日"<<ENDL;
         }
         ~Date();
};
void main()
{
    Date date1(2007,11,30);
    date1.showDate();
}
6 回复
#2
骆彬彬2012-03-15 17:13

帮你搞定了!!!
#include<iostream>
using namespace std;
class Date
{
  private:int year;
          int month;
          int day;
  public:Date()
         {
         }
         Date(int yearnew,int monthnew,int daynew)
         {
             year=yearnew;
             month=monthnew;
             day=daynew;
         }
         void showDate()
         {
             cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
         }
         ~Date(){};
};
void main()
{
    Date date1(2007,11,30);
    date1.showDate();
}
#3
年少有点轻狂2012-03-15 20:26
呃 只是把变量给大写了所以导致编译错误
#4
榴紫丫2012-03-15 20:34
~Date();
这个只是在Date类中进行了说明,而没有该析构函数的定义体
#5
不会说话2012-03-15 21:22
哦   这不书上的么
#6
wtujoxk2012-03-16 23:09
程序代码:
#include <iostream>
using namespace std;

class Date
{
public:
    Date(){cout<<"构造函数执行中……\n";} //没有运行,不用写这句
   
    Date(int yearnew,int monthnew,int daynew)
    {
        year=yearnew;
        month=monthnew;
        day=daynew;
    }
    void showDate()
    {
        cout<<year<<""<<month<<""<<day<<""<<endl;
    }
   
    ~Date(){cout<<"析构函数执行中……\n";}

private:
    int year;
    int month;
    int day;
};

int main()
{
    Date date1(2007,11,30);
    date1.showDate();

    return 0;
}


[ 本帖最后由 wtujoxk 于 2012-3-16 23:12 编辑 ]
#7
BianChengNan2012-03-17 12:23
这个楼主可以看看报错的内容,然后基本上就能才出来了。

楼上已经给你解释了
1