「已注销」
2015-04-06 08:24
采纳率: 75%
浏览 1.7k

这个C++程序有什么问题?急求!!!

using namespace std;
class Date
{public:
Date(int,int,int);
Date(int,int);
Date(int);
Date();
void display();
private:
int month;
int day;
int year;

};
Date::Date(int m,int d,int y):month(m),day(d),year(y)
{}

Date::Date(int m,int d):month(m),day(d)
{year=2005;}

Date::Date(int m):month(m)
{day=1;
year=2005;
}

Date::Date();
{month=1;
day=1;
year=2005;
}

void Date::display()
{cout<<month<<"/"<<day<<"/"<<year<<endl;}

int main()
{
Date d1(10,13,2005);
Date d2(12,30);
Date d3(10);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • blownewbee 2015-04-06 10:29
    已采纳

    帮你修改了下
    http://codepad.org/NAPhIKjq

     using namespace std;
    class Date
    {public:
        Date(int,int,int);
        Date(int,int);
        Date(int);
        Date(); 
        void display();
        private:
        int month;
        int day;
        int year;   
    };
    Date::Date(int m,int d,int y):month(m),day(d),year(y)
    {}
    
    Date::Date(int m,int d):month(m),day(d)
    {year=2005;}
    
    Date::Date(int m):month(m)
    {day=1;
     year=2005;
    }
    
    Date::Date()
    {month=1;
    day=1;
    year=2005;
    }
    
    void Date::display()
    {cout<<month<<"/"<<day<<"/"<<year<<endl;}
    
    int main()
    {
        Date d1(10,13,2005);
        Date d2(12,30);
        Date d3(10);
        Date d4;
        d1.display();
        d2.display();
        d3.display();
        d4.display();
        return 0;
    } 
    

    运行结果
    10/13/2005
    12/30/2005
    10/1/2005
    1/1/2005

    点赞 打赏 评论
  • 王维来 2015-04-06 08:28

    你为啥不加头文件啊?

    点赞 打赏 评论
  • 每天JAVA技术 2015-04-06 08:31

    Date::Date();多了个分号吗?

    点赞 打赏 评论
  • oyljerry 2015-04-06 08:40

    具体什么错误?
    你对照编译器看看错误提示

    点赞 打赏 评论
  • lx624909677 2015-04-06 09:19

    如果没有语法错误,就是Date::Date();这里错了

    点赞 打赏 评论
  • 一颗向上的心 2015-04-06 10:31

    #include
    using namespace std;
    class Date
    {
    public:
    Date(int,int,int);
    Date(int,int);
    Date(int);
    Date();
    void display();
    private:
    int year;
    int month;
    int day;

    };
    Date::Date(int y,int m,int d):year(y),month(m),day(d)
    {
    }
    Date::Date(int m,int d):month(m),day(d)
    {
    year=2005;
    }
    Date::Date(int m):month(m)
    {
    day=1;
    year=2005;
    }
    Date::Date()
    {
    month=1;
    day=1;
    year=2005;
    }
    void Date::display()
    {
    cout<<year<<"/"<<month<<"/"<<day<<endl;
    }
    int main()
    {
    Date d1(2005,10,13);
    Date d2(12,30);
    Date d3(10);
    Date d4;
    d1.display();
    d2.display();
    d3.display();
    d4.display();
    return 0;
    }

        /* 没什么大问题,就去掉个分号就行了*/
    
    点赞 打赏 评论
  • alwaysalex 2015-04-09 07:22

    加上头文件后,有一处需要改动。对复制构造函数进行初始化的时候多了一个分号: Date::Date();

    点赞 打赏 评论

相关推荐 更多相似问题