我现在正在从一本书中自学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
}
答案 0 :(得分:7)
您需要在课程定义后添加;
。
答案 1 :(得分: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;
}