Chapter 0 Inheritance 이번 과제는 클래스 상속에 관한 과제이다. 상속이란 객체지향 언어에서 사용하는 정말 중요한 개념이다. 클래스 상속을 통해 기존에 정의해놓은 클래스를 용도에 맞게 재사용할 수 있으며, 수정하거나 새로운 기능을 추가하기 용이하다. 상속을 해주는 클래스를 '부모 클래스', 상속을 받는 클래스를 '자식 클래스' 라고 하는데, 다른 표현으로 '베이스 클래스', '파생 클래스'라고도 한다. 클래스에는 접근 제한자라는 개념을 통해, 클래스 내부에서만 접근 가능한 'private' 변수와 클래스 외부에서도 접근 가능한 'public' 변수로 나눌 수 있다. 상속 받은 클래스 또한 이 개념이 적용되어 'private' 변수는 접근할 수 없다. 이 부분에서, 'private' 영역은..
Chapter 1 Introduction 이 과제는 내가 걸어가야할 C++이라는 여행길에 시작점에 객체지향프로그래밍이 어떤건지를 설명해주는것이 목적이라고 한다. 객체지향은 많은 언어들이 사용하는데, 왜 C++을 배우게 되느냐.. 하면 나의 오랜 친구(42에서만)인 C에서 파생된 언어이기 때문이라고 한다. C++은 복잡한 언어이기 때문에, 단순하게 유지하기 위해 내 코드를 C++ 98 standard로 컴파일 할것이라고 한다. Chapter 2 General Rules 컴파일 너의 C++ 코드는 "-Wall -Wextra -Werror" 플래그와 함께 컴파일 한다. 너의 코드는 "-std=c++98"를 플래그로 추가하고도 컴파일이 되어야 한다. 포멧과 네임 컨벤션 모든 문제의 디렉토리는 다음의 방식을 따른..
Preview cpp00에서 엄청난 고난을 겪은 후, cpp01을 시작하게 되었다. 이번 과제에서는 메모리 동적할당과 포인터, 레퍼런스에 대해 배운다고 한다. Chapter 1 Introduction 이 과제는 내가 걸어가야할 C++이라는 여행길에 시작점에 객체지향프로그래밍이 어떤건지를 설명해주는것이 목적이라고 한다. 객체지향은 많은 언어들이 사용하는데, 왜 C++을 배우게 되느냐.. 하면 나의 오랜 친구(42에서만)인 C에서 파생된 언어이기 때문이라고 한다. C++은 복잡한 언어이기 때문에, 단순하게 유지하기 위해 내 코드를 C++ 98 standard로 컴파일 할것이라고 한다. Chapter 2 General Rules 컴파일 너의 C++ 코드는 "-Wall -Wextra -Werror" 플래그와 함..