[c++] 캘린더 기능 구현
이번에는 C++를 사용하여 캘린더 기능을 구현하는 방법에 대해 알아보겠습니다.
1. 캘린더 클래스 작성
먼저, 캘린더 클래스를 작성하는 것으로 시작합니다. 이 클래스에는 연도, 월, 일과 같은 날짜 관련 멤버 변수들이 포함됩니다.
class Calendar {
private:
int year;
int month;
int day;
public:
Calendar(int y, int m, int d) : year(y), month(m), day(d) {}
void setYear(int y) { year = y; }
void setMonth(int m) { month = m; }
void setDay(int d) { day = d; }
int getYear() { return year; }
int getMonth() { return month; }
int getDay() { return day; }
};
2. 기능 구현
다음으로, 다양한 캘린더 관련 기능들을 구현해보겠습니다. 예를 들어, 특정 연도의 윤년 여부를 확인하거나 특정 월의 일 수를 반환하는 함수를 작성할 수 있습니다.
class Calendar {
// ... (이전 코드와 동일)
public:
// ...
bool isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true;
}
return false;
}
int getDaysInMonth(int year, int month) {
if (month == 2) {
if (isLeapYear(year)) {
return 29;
} else {
return 28;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
return 30;
} else {
return 31;
}
}
};
3. 활용 예시
이제 작성한 캘린더 클래스를 활용하는 예시를 보겠습니다.
int main() {
Calendar myCalendar(2022, 10, 31);
int year = myCalendar.getYear();
int month = myCalendar.getMonth();
int day = myCalendar.getDay();
bool leapYear = myCalendar.isLeapYear(year);
int daysInMonth = myCalendar.getDaysInMonth(year, month);
// ... (다양한 활용 예시)
}
이제 여러분은 C++를 사용하여 간단한 캘린더 기능을 구현하는 방법에 대해 알게 되었습니다.
참고 문헌:
- C++ Primer Plus, 6th Edition, by Stephen Prata