반응형
#include <iostream>				//선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 
using namespace std;    		//std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout 

class Date{									//Date라는 객체(클래스) 선언 
	private:								//자기 자신만 사용 가능 
		int year, month, day;				//전역변수로 year, month, day 선언 
		public :							//어디서든 사용 가능 
			Date();							//Date 의 디폴트 생성자 
			Date(int y, int m, int d);		//Date int 인자를 3개 받는 생성자 
			Date(int m, int d);				//Date int 인자를 2개 받는 생성자
			Date(int d);					//Date int 인자를 1개 받는 생성자
			void print();					//year, month, day 값을 출력해주는 생성자 
};

Date::Date(){					//Date의 디폴트 생성자 
	year = 2022;				//year이라는 변수가 가르키는 주소 값에 메모리안에 2022을 선언 2022으로 초기화 
	month=10;					//month이라는 변수가 가르키는 주소 값에 메모리안에 10을 선언 10으로 초기화 
	day = 11;					//day이라는 변수가 가르키는 주소 값에 메모리안에 11을 선언 11으로 초기화 
}
Date::Date(int y, int m, int d){		//정수형 인자를 3개받는 Date 생성자 
	month = m;							//month라는 변수가 가르키는 주소 값에 메모리안에 m을 선언 m으로 초기화 
	day = d;							//day라는 변수가 가르키는 주소 값에 메모리안에 d을 선언 m으로 초기화
	year = y;							//year이라는 변수가 가르키는 주소 값에 메모리안에 y을 선언 m으로 초기화
}
Date::Date(int m, int d){				//정수형 변수를 2개받는 Date 생성자 
	month = m;							//month라는 변수가 가르키는 주소 값에 메모리안에 m을 선언 m으로 초기화 
	day = d;							//day라는 변수가 가르키는 주소 값에 메모리안에 d를 선언 d으로 초기화
	year = 2022;						//year이라는 변수가 가르키는 주소 값에 메모리안에 2022을 선언 2022으로 초기화
}
Date::Date(int d){						//정수형 변수를 1개받는 Date 생성자
	month = 10;							//month라는 변수가 가르키는 주소 값에 메모리안에 10을 선언 10으로 초기화 
	day = d;							//day라는 변수가 가르키는 주소 값에 메모리안에 d을 선언 d으로 초기화
	year = 2022;						//year이라는 변수가 가르키는 주소 값에 메모리안에 2022을 선언 2022으로 초기화
}
void Date::print(){												//출력문 생성자 
	cout << year << "년" << month << "월" << day << "일";		//년, 월, 일 출력문 
}

int main(){										// 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것
												//void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다
	Date date1(2022, 10, 11);					//Date클래스에 date1객체 생성하면서 인자3개를 받는 생성자가 호출된다 
	Date date2(10, 11);							//Date클래스에 date2객체 생성하면서 인자2개를 받는 생성자가 호출된다
	Date date3(11);								//Date클래스에 date3객체 생성하면서 인자1개를 받는 생성자가 호출된다
	Date date4;								//Date클래스에 date4객체 생성하면서 인자0개를 받는 생성자가 호출된다 디폴트 생성자 
	
	cout << "=== (int y, int m, int d) 인수를 받았을때 ===" << endl;		//출력문 
	cout << "date1 => ";													//출력문 
	date1.print();															//print생정자를 date1 값으로 호출 
	cout << endl << endl;													//줄바꿈 
	cout << "=== (int m, int d) 인수를 받았을때 ===" << endl;				//출력문 
	cout << "date2 => ";													//출력문 
	date2.print();															//print생성자를 date2 값으로 호출 
	cout << endl << endl;													//줄바꿈 
	cout << "=== (int d) 인수를 받았을때 date3 ===" << endl;				//출력문 
	cout << "date3 => ";													//출력문 
	date3.print();															//print생성자를 date3 값으로 호출 
	cout << endl << endl;		
		cout << "=== date4 ===" << endl;				//출력문 
	cout << "date4 => ";													//출력문 
	date4.print();															//print생성자를 date3 값으로 호출 
	cout << endl << endl;												//줄바꿈 

	
	return 0; 
}
반응형

'C++' 카테고리의 다른 글

c++ if문 짝수 홀수  (0) 2023.01.07
c++ 카페 관리 프로그램  (0) 2023.01.07
c++ 3명의 3개의 과목 평균  (0) 2023.01.07
c++ 3개의 배열을 더해서 4번째 배열에 넣기  (0) 2023.01.07
c++ 3개의 과목 평균  (0) 2023.01.07