我正在制作一个小文件阅读和数据验证程序,作为我的TAFE(大专院校)课程的一部分,这包括检查和验证日期.
我决定最好用一个单独的类来完成,而不是将它集成到我的主驱动程序类中.
问题是我的测试程序运行后出现了分段错误(核心转储).我可以说,在程序终止时发生错误,在调用析构函数后弹出.到目前为止,我没有找到这个错误的原因,并且希望一些开明的灵魂可能向我展示我的方式的错误.
date.h
#ifndef DATE_H
#define DATE_H
#include <string>
using std::string;
#include <sstream>
using std::stringstream;
#include <cstdlib>
using std::exit;
#include <iostream>
using std::cout;
using std::endl;
class date {
public:
explicit date();
~date();
bool before(string dateIn1, string dateIn2);
int yearsBetween(string dateIn1, string dateIn2);
bool isValid(string dateIn);
bool getDate(int date[], string dateIn);
bool isLeapYear(int year);
private:
int days[];
};
#endif
Run Code Online (Sandbox Code Playgroud)
date.cpp
#include "date.h"
date::date() {
days[0] = 31;
days[1] = 28;
days[2] = 31;
days[3] = 30;
days[4] = 31;
days[5] …Run Code Online (Sandbox Code Playgroud)