ITGenerations
[c++] p144. n2. 날짜를 다루는 Date 클래스를 작성하고자 한다. ~ 본문
날짜를 다루는 Date 클래스를 작성하고자 한다. Date를 이용하는 main()과 실행결과는 다음과 같다.
클래스 Date를 작성하여 아래 프로그램에 추가하라.
#include <iostream>
#include <string>
using namespace std;
//클래스 선언
class Date {
int year, month, day;
public:
Date(int year, int month, int day);
Date(string date);
int getYear() {
return year;
}
int getMonth() {
return month;
}
int getDay() {
return day;
}
void show();
};
// this 포인터 birth
Date::Date(int year, int month, int day) {
this->year = year;
this->month = month;
this->day = day;
}
// independenceDay
Date::Date(string date)
{
int index = date.find_first_of("/"); // '/'가 처음 발견하는 인덱스를 찾는다.
string sub_str = date.substr(0, index); // 인덱스 0에서 index개수의 문자로 구성한 부문 문자열 추출
year = atoi(sub_str.c_str()); // sub_str의 문자열을 정수로 변경
date = date.substr(index + 1); // index+1 이후의 부분 문자열을 추출하여 date에 대입
index = date.find_first_of("/"); // '/'가 처음 발견하는 인덱스를 찾는다.
sub_str = date.substr(0, index); // 인덱스 0에서 index개수의 문자로 구성한 부문 문자열 추출
month = atoi(sub_str.c_str()); // sub_str의 문자열을 정수로 변경
date = date.substr(index + 1); // index+1 이후의 부분 문자열을 추출하여 date에 대입
day = atoi(sub_str.c_str()); // sub_str의 문자열을 정수로 변경
}
void Date::show() {
cout << year << "년 " << month << "월 " << day << endl;
}
int main() {
Date birth(2014, 3, 20);
Date independenceDay("1945/10/15");
independenceDay.show();
//birth
cout << birth.getYear() << ',' << birth.getMonth() << ',' << birth.getDay() << endl;
}
'프로그래밍 > c++ 명품프로그래밍 ' 카테고리의 다른 글
[c++] p145. n4. 문제 3번을 참고하여 짝수 정수만 랜덤하게 발생 blah blah (0) | 2017.11.23 |
---|---|
[c++] p144. n3. 랜덤 수를 발생 시키는 Random 클래스를 만들자 (0) | 2017.11.23 |
[c++] p143/1. main()의 실행 결과가 다음과 같도록 Tower 클래스를 작성하라 (0) | 2017.11.22 |
[c++] 영문 텍스트를 입력받아 알파벳 히스토그램을 그리는 블라블라 (0) | 2017.11.14 |
[c++] c프로그램을 c++로 수정 2 (0) | 2017.11.12 |