CPP Module00
ex00
cpp에서의 콘솔 출력 방식을 익히는 문제
iostream
cpp의 입출력을 위한 헤더 파일
“#include
cout
문자열, 수, 문자 등 다양한 데이터 형식을 서식문자 없이 자동으로 출력
« 삽입 연산자를 사용하여 변수나 객체의 값을 전달 할 수 있음
개행은 std::endl이나 ‘\n’을 사용
std::toupper
소문자라면 대문자의 값을, 아니라면 그대로 int 타입으로 반환하는 함수
ex01
간단한 전화번호부 기능을 만들면서 class의 작성 방식과 동작 방식을 익히는 문제
class의 구조
기본적으로 hpp 파일에 class의 구성 요소를 정의하고 cpp 파일에 구현을 함
class에는 생성자, 소멸자, 멤버 변수, 멤버 함수등이 포함되며, 내부에 별도의 class를 정의 할 수도 있음
접근 지정자
일반적으로 private에 멤버 변수와 멤버 함수를, 외부에서 사용을 해야 하는 멤버 함수는 public으로 설정함
멤버 변수를 수정할 수 있도록 getter, setter를 설정하여 접근하는 방식 사용
- public
- 공개 멤버, 클래스 외부에서도 접근 가능
- private
- 비공개 멤버, 클래스 내에서만 접근 가능
- protected
- 비공개 멤버, 자신이나 상속된 클래스 내에서만 접근 가능
ex02
주어진 헤더 파일과 테스트 파일, 로그 파일을 통해 cpp 파일을 유추하여 작성하는 문제
생성자와 소멸자의 동작 방식과 순서를 알 수 있음
생성자
객체의 생성 시 호출되는 메소드로, 클래스의 이름과 동일한 이름으로 구현 됨
생성자는 반환 값이 없으며, 여러 번 정의 될 수 있음(overloading)
소멸자
객체의 수명이 끝났을 때 객체를 제거하기 위한 목적으로 사용
스택 영역에 할당된 경우에는 자동으로 컴파일러가 소멸자 함수를 호출. 이 때, 생성된 역순으로 호출이 일어나게 됨