1. 문제
2. 날짜를 다루는 Date 클래스를 작성하고자 한다. Date를 이용하는 main()과 실행 결과는 다음과 같다. 클래스 Date를 작성하여 아래 프로그램에 추가하라.
2. 결과
3. 코드
#include <iostream>
using namespace std;
class Date {
int year, month, day;
public :
Date(int y, int m, int d) { year = y; month = m; day = d; }
Date( char *nal ) ;
void show() { cout << year << "년" << month << "월" << day << "일" << endl; }
int getYear() { return year; }
int getMonth() { return month; }
int getDay() { return day; }
};
Date::Date( char *nal) {
char a[20];
for(int i=0; i< strlen(nal); i++)
a[i] = *(nal+i);
year = atoi( strtok( a, "/" ) );
month = atoi( strtok( NULL, "/" ) );
day = atoi( strtok( NULL, "" ) );
}
int main() {
Date birth(2014, 3, 20);
Date independenceDay("1945/8/15");
independenceDay.show();
cout << birth.getYear() << ',' << birth.getMonth() << ',' << birth.getDay() << endl;
}
4. 설명
Date생성자를 Date( int y, int m, int d)로 각각 년, 월, 일을 입력받는 생성자와, Date( char *nal)로 하나의 문자열로 입력받는 생성자 2개를 만듭니다.
매개변수로 문자열을 입력받는 생성자는 strtok();함수를 사용하여서 "/"을 기준으로 나눈다음 atoi()함수를 사용하여서 int형으로 바꾸어 클래스 멤버 변수인 year, month, day에 각각 저장합니다.
그 외 년, 월, 일을 출력해주는 void show(); 멤버함수
각각 년, 월, 일을 return해주는 getYear(); getMonth(); getDay(); 멤버 함수를 만들어 줍니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습문제 3장 4번 (0) | 2019.04.06 |
---|---|
명품 C++ programming 실습문제 3장 3번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 1번 (0) | 2019.04.06 |
명품 C++ programming 2장 Open Challenge (0) | 2019.04.06 |
명품 C++ programming 실습문제 2장 14번 (0) | 2019.04.06 |