创建类的对象时出现错误 "错误C2011' dateType':' class'类型重新定义" 我已经多次检查过我的班级,而且我似乎没有弄清楚错误的原因
dateType.h
#include <iostream>;
#include<string>;
using namespace std;
class dateType {
public:
dateType();
~dateType();
void setDate(string, int, int);
void printDate()const;
private:
string day;
int month;
int year;
};
dateType.cpp
#include "dateType.h"
#include<iostream>;
#include <string>;
using namespace std;
dateType::dateType()
{
cout << "please imput day,month,year";
cin >> day >> month >> year;
}
dateType::~dateType()
{
}
void dateType::setDate(string d, int m, int y) {
day = d;
if (m <= 12)month = m;
else { month = 0; year++; }
year = y;
}
void dateType::printDate()const{
cout << "day : \n" << day;
cout << "month : \n" << month;
cout << "year : \n" << year;
}
谢谢。
答案 0 :(得分:0)
他们的问题通过添加解决了
#programa once
所以代码看起来像这样:
<强> dateType.h 强>
#pragma once
#include <iostream>
#include<string>
class dateType {
public:
dateType();
~dateType();
void setDate();
void printDate()const;
private:
std::string day;
int month;
int year;
};
<强> dateType.cpp 强>
#include "dateType.h"
#include<iostream>
#include <string>
using namespace std;
dateType::dateType()
{
}
dateType::~dateType()
{
}
void dateType::setDate()
{
string d;
int m;
int y;
cout << "please imput day,month,year";
cin >> d >> m >> y;
day = d;
if (m <= 12)month = m;
else { month = 0; year++; }
year = y;
}
void dateType::printDate()const{
cout << "day : "<< day<<endl;
cout << "month : " << month<<endl;
cout << "year : " << year<<endl;
}
还删除了using namespace std;
。
如果有人遇到同样的错误,我希望这会有所帮助。
谢谢。