반응형
Date.h
#pragma once #includeDate.cpp#include //클래스 만들기 class Date { //'private' 직접 접근 불가 private: //'멤버 변수'(=필드) 선언 int year; int month; int day; //'public' 직접 접근 가능 public: std::string memo = "실험"; public: //'멤버 함수'(=메소드) 선언 void setDate(int year, int month, int day); void printDate(); int getYear(); int getMonth(); int getDay(); Date(int year, int month, int day); Date(); ~Date(); };
#include "Date.h" void Date::setDate(int year, int month, int day) { Date::year = year; Date::month = month; Date::day = day; } void Date::printDate() { std::cout << Date::year << "년 " << Date::month << "월 " << Date::day << "일" << std::endl; } int Date::getYear() { return Date::year; } int Date::getMonth() { return Date::month; } int Date::getDay() { return Date::day; } Date::Date(int year, int month, int day) { Date::year = year; Date::month = month; Date::day = day; } Date::Date() { Date::year = 2018; Date::month = 6; Date::day = 24; } Date::~Date() { }main.cpp
#include "Date.h" int main() { //'Date'클래스의 'day_1'인스턴스 생성 Date day_1; //인자가 없는 생성자. //메소드 호출 day_1.setDate(1990, 5, 18); day_1.memo = "내 생일"; //퍼블릭 필드 직접 출력 (dot(.)연산자 사용) std::cout << day_1.memo << std::endl; std::cout << day_1.getYear() << "년" << day_1.getMonth() << "월" << day_1.getDay() << "일" << std::endl; //'Date'클래스의 'day_2'인스턴스 생성 Date day_2(2000, 06, 15); //인자가 있는 생성자. day_2.memo = "동생 생일"; std::cout << day_2.memo << std::endl; day_2.printDate(); //인스턴스 동적 생성 (디폴트 생성자가 호출됨) Date* day_3 = new Date; //동적 생성된 객체의 메소드 호출 day_3->memo = "오늘"; //동적 생성된 객체의 퍼블릭 필드 직접 출력 (arrow(->)연산자 사용) std::cout << day_3->memo << std::endl; day_3->printDate(); delete day_3; //동적 생성할 때 인수있는 생성자 호출하기 Date* day_4 = new Date(2000, 01, 01); std::cout << day_4->memo << std::endl; day_4->memo = "새천년의 시작"; std::cout << day_4->memo << std::endl; day_4->printDate(); delete day_4; }
반응형