【发布时间】:2016-04-11 01:13:21
【问题描述】:
大家好,我正在尝试在 C++ 中创建一个日期类,它显示默认日期、显示短设置日期、显示长设置日期、仅显示设置年份。但是,我尝试在输入数据时显示类的内容,但出现错误“使用未声明的标识符'setDate'
头文件代码如下:
#ifndef dateClass_h
#define dateClass_h
using namespace std;
class DateObj
{
public:
int setDate(int month, int day, int year);
void shortDate(int month, int day, int year);
void longDate(string month, int day, int year);
//return the year
int getYear(int year){
return year;
}
private:
int month;
int day;
int year;
};
#endif /* dateClass_h */
这是我的实现文件代码:
#include <stdio.h>
#include <iostream>
#include <string>
#include "dateClass.h"
using namespace std;
//setDate Method
int DateObj::setDate(int month, int day, int year){
//setMonth = month;
//day = setDay;
//year = setYear;
//check to make sure month is between 1 - 12.
if(month < 1 || month > 12){
cout << "This is an invalid Month. Please enter a month that is between 1 and 12: " << endl;
}
//check to make sure day is between 1 -31.
if(day < 1 || day > 31){
cout << "This is an invalid Day. Please enter a day that is between 1 and 31: " << endl;
}
//check to make sure year is greater than zero.
if(year < 0){
cout << "This is an invalid Year. Please enter a year that is greater than Zero" << endl;
}
return setDate(month,day,year);
}
这是我的主程序代码:
#include <iostream>
#include <string>
#include "dateClass.h"
using namespace std;
int main() {
DateObj myDate;
myDate.setDate(12, 25, 2016); //set the date to Dec 25, 2016.
cout << "The current date is: " << setDate() << endl;
return 0;
}
我只想知道为什么我会收到这个错误,以及我需要在我的课程或主程序中修复什么。
编辑 我得到了要编译的程序,但是在返回 setDate(month, day, year) 断点处出现以下错误“EXC_BAD_ACCESS (code=2, address=0x7fff5f3fffe8)。
#include <iostream>
#include <string>
#include "dateClass.h"
using namespace std;
int main() {
DateObj myDate;
myDate.setDate(12,25,2016); //set the date to Dec 25, 2016.
cout << "The current date is: " << myDate.setDate(12, 25, 2016) << endl;
return 0;
}
【问题讨论】:
-
你还没有向我们展示
shortDate()函数的实现。 -
嘿抱歉我的意思是 setDate() 函数。
标签: c++