class.hでenum RelationTypeとRelationType ComparedTo(DateType someDate)を宣言して、
class.ppで
RelationType dateType::という風に実装しようと
とするとエラーになります。
教科書にはこのようにあったのですが、
個人的にはRelationTypeは型ではなく、変数名なので
なぜ型のように使っているのだろうと疑問に思いました。
どのように修正したらいいでしょうか?
/* * Main.cpp * * Created on: 2015/10/26 * */ #include<iostream> #include"DateType.h" using namespace std; int main() { DateType today; DateType anotherDay; today.Initialize(9, 24, 2003); anotherDay.Initialize(9, 25, 2003); cout << "Today is" << today.MonthIs() << "/" << today.DayIs() << "/" << today.YearIs() << endl; cout << "Another day is" << anotherDay.MonthIs() << "/" << anotherDay.YearIs() << endl; }
DateType.cpp #include <iostream> void DateType::Initialize(int newMonth,int newDay,int newYear){ year=newYear; month=newMonth; day=newDay; } int DateType::MonthIs() const{ return month; } int DateType::DayIs() const{ return day; } int DateType::YearIs() const{ return year; } RelationType DateType::ComparedTo(DateType aDate){ if(year<aDate.year) return LESS; else if(year>aDate.year) return GREATER; else if(month<aDate.month) return LESS; else if(month>aDate.month) return GREATER; else if(day<aDate.day) return LESS; else if(day>aDate.day) return GREATER; else return EQUAL; }言語を入力 コード
DateType.h class DateType { public: void Initialize(int nextMonth, int newDay, int newYear); int YearIs() const; int MonthIs() const; int DayIs() const; enum RelationType{LESS,EQUAL,GREATER}; RelationType ComparedTo(DateType someDate); private: int year; int month; int day; };
出てくるエラーはコンパイルエラーですか?実行エラーですか?
また、どのようなエラーメッセージが表示されますか?
回答2件
あなたの回答
tips
プレビュー