Home
Justnote
Cancel

CPP Module 04 : 다형성, 추상 클래스

주제 서브타입 다형성 추상 클래스 인터페이스 Ex00 주요 개념 다형성 (polymorphism) 임시 다형성 (ad-hoc polymorphism) overloading 서브타입 다형성 (subtype polymorphism) overriding ...

CPP Module 03 : 상속

Ex00 문제 이해 energy point attack, repair을 하기 위해 필요하다. 스타크래프트의 미네랄과 유사한 개념 hit point : 체력 (hp) Q&A this 키워드를 쓰는 이유? 현재 객체의 멤버 변수와 매개변수로 받은 인자의 이름을 ...

CPP Module 02 : OCCF, 연산자 오버로딩

Ex00 주요 개념 OCCF (Orthodox Canonical Class Form) 다음 요소들을 모두 갖춘 클래스를 의미한다. Default constructor (디폴트 생성자) Copy constructor (복사 생성자) Copy assignment operator (복사 대입 연산자 (오버...

CPP Module 01 : 클래스

주제 메모리 할당 멤버 함수 포인터 참조자 switch문 Ex00 주요 개념 객체 생성 방식 동적 할당 객체 생성 방식의 차이 newzombie 동적할당 사용 heap 영역 이유 : 객체를 생성하고 계속 사용할 것이기 때문 randomchump ...

CPP Module 00 : C++ 기초

Ex00 주요 개념 std::toupper int toupper ( int c ); int 형으로 반환 static_cast<char>을 사용해 toupper의 반환값인 int를 char로 형변환. static_cast 기본 자료형...

miniRT ③ 구현 과정

구현 과정 순서도 도형 평면 (plane) ray(광선)의 방향벡터와 plane(평면)의 법선벡터의 내적이 0이라면 광선은 평면에 평행하거나 포함된 상태. 내적이 0이 아닌 경우, 광선이 평면과 한 점에서 만나는 상태이다. 구 (sphere) 구의 방정식에 광선의 방정식을 대입 근의 공식을 통해 실근의 존재 여부를...

C++ 개념 정리 : 스마트 포인터

스마트 포인터(smart pointer) 포인터처럼 동작하는 클래스 템플릿 사용을 마친 메모리를 자동으로 해제해준다. C++에서 메모리 누수를 방지하기 위해 제공 동작 방식 기본 포인터(raw pointer)에 new 키워드로 메모리를 할당 해당 포인터를 스마트 포인터에 대입하여 사용 소멸자가 delete 키워드를 사용...

C++ 개념 정리 : 좌측값(lvalue), 우측값(rvalue)

복사 생략 (copy elision) int main() { A a(1); // 일반 생성자 호출 A b(a); // 복사 생성자 호출 A c(A(2)); // 일반 생성자 호출 -> 복사 생략 } 위와 같은 경우에는 복사 생성자가 호출되지 않는다. 이를 복사 생략(copy elision)이라고 한다. 좌측값(lvalu...

miniRT ② 배경 지식

렌더링 (Rendering) 개념 컴퓨터 프로그램을 사용하여 모델 또는 이들을 모아놓은 장면인 씬 파일(scene file)로부터 영상을 만들어내는 과정 순서 와이어프레임 렌더링 (wireframe rendering) 좌표를 여러개 찍어서 선으로 연결...

C++ 개념 정리 : 예외 처리

예외 처리 예외(exception) 컴퓨터 시스템이 동작하는 도중에 예상하지 못한 오류가 발생하여, 실행되고 있던 프로그램이 중지되는 것 예외 처리(exception handling) 예외 상황을 처리할 수 있도록 코드의 흐름을 바꾸는 행위 C++은 언어 차원에서 예외 ...