과제 요구사항 각 ex마다 하나의 형변환을 사용해야 하며, 해당 형변환을 사용한 이유를 설명할 수 있어야 한다. 핵심 개념 타입 변환 (type conversion) 종류 static_cast const_cast reinterpret_cast dynamic_cast ...
Ex00 주요 개념 예외처리 개념 예외 상황을 처리할 수 있도록 코드의 흐름을 바꾸는 것. 특성 exception 헤더에 있는 std::exception 클래스를 상속받아서 what()함수를 overriding(재정의)한다. 구성 요소 try ...
주제 서브타입 다형성 추상 클래스 인터페이스 Ex00 주요 개념 다형성 (polymorphism) 임시 다형성 (ad-hoc polymorphism) overloading 서브타입 다형성 (subtype polymorphism) overriding ...
Ex00 문제 이해 energy point attack, repair을 하기 위해 필요하다. 스타크래프트의 미네랄과 유사한 개념 hit point : 체력 (hp) Q&A this 키워드를 쓰는 이유? 현재 객체의 멤버 변수와 매개변수로 받은 인자의 이름을 ...
Ex00 주요 개념 OCCF (Orthodox Canonical Class Form) 다음 요소들을 모두 갖춘 클래스를 의미한다. Default constructor (디폴트 생성자) Copy constructor (복사 생성자) Copy assignment operator (복사 대입 연산자 (오버...
주제 메모리 할당 멤버 함수 포인터 참조자 switch문 Ex00 주요 개념 객체 생성 방식 동적 할당 객체 생성 방식의 차이 newzombie 동적할당 사용 heap 영역 이유 : 객체를 생성하고 계속 사용할 것이기 때문 randomchump ...
Ex00 주요 개념 std::toupper int toupper ( int c ); int 형으로 반환 static_cast<char>을 사용해 toupper의 반환값인 int를 char로 형변환. static_cast 기본 자료형...
구현 과정 순서도 도형 평면 (plane) ray(광선)의 방향벡터와 plane(평면)의 법선벡터의 내적이 0이라면 광선은 평면에 평행하거나 포함된 상태. 내적이 0이 아닌 경우, 광선이 평면과 한 점에서 만나는 상태이다. 구 (sphere) 구의 방정식에 광선의 방정식을 대입 근의 공식을 통해 실근의 존재 여부를...
스마트 포인터(smart pointer) 포인터처럼 동작하는 클래스 템플릿 사용을 마친 메모리를 자동으로 해제해준다. C++에서 메모리 누수를 방지하기 위해 제공 동작 방식 기본 포인터(raw pointer)에 new 키워드로 메모리를 할당 해당 포인터를 스마트 포인터에 대입하여 사용 소멸자가 delete 키워드를 사용...
복사 생략 (copy elision) int main() { A a(1); // 일반 생성자 호출 A b(a); // 복사 생성자 호출 A c(A(2)); // 일반 생성자 호출 -> 복사 생략 } 위와 같은 경우에는 복사 생성자가 호출되지 않는다. 이를 복사 생략(copy elision)이라고 한다. 좌측값(lvalu...