1

我现在正在从一本书中自学 C++,其中一个练习是编写一个 Date 类,它将它保存的日期转换为一个唯一的整数。但是,当我运行我的程序时,我无法弄清楚我遇到的这个错误。我在 C++ 2010 上编程。

错误是:

error C2628: 'Date' followed by 'int' is illegal (did you forget a ';'?)

error C3874: return type of 'main' should be 'int' instead of 'Date'

奇怪的是我试图将我的主要更改为简单地“返回 0;” 并且仍然会出现上述错误。有任何想法吗?

这是我的代码:

#include "stdafx.h"
#include <iostream>

using namespace std;



class Date{
private:
    int day, month, year; //declaring variables

public:

    //declare constructor
    Date(int inputDay=1, int inputMonth=1, int inputYear=2012)
    :day(inputDay), month(inputMonth),year(inputYear){};

    // declare conversion operator for integers
    operator int(){
        return year*10000+month*100+day;
    }
}



int main() {
    Date today(25,11,2012);
    return today;
    //doesn't matter if I delete above 2 lines and write return 0; both errors still occur
}
4

2 回答 2

8

您需要;在类定义之后添加一个。

于 2012-11-25T16:42:34.037 回答
0

我希望以下代码能回答您的问题!

#include <iostream.h>

class Date
{
private:
int day, month, year; //declaring variables
long int result;

public:

//declare constructor
Date(int inputDay, int inputMonth, int inputYear)
{
this.day=inputDay;
this.month=inputMonth;
this.year=inputYear;
// declare conversion operator for integers
result=year*10000+month*100+day;
cout<<"Result = "<<result<<"\n";
}
};


int main() 
{
Date today(25,11,2012);
return 0;
}
于 2012-11-25T17:34:26.957 回答