전체 글174 CPP Module 06 Exercise 00 : Conversion of scalar types static_cast를 사용한 형변환이 주가 되는 과제 main 함수의 매개변수로 받은 C 스트링을 string으로 우선 만들어놓은 후, 해당 스트링을 double형으로 변환하여 사용 변환에는 strtod() 함수를 이용 strtod() 함수의 두번째 인자로 받는 char형 포인터에는 double 형으로 변환이 불가능한 문자의 위치가 저장됨 즉, 변환이 정상적으로 이루어졌을 경우에는 문자열 끝의 \0 위치를 반환 inf는 infinity를 뜻하고, nan은 Not a number의 약자로 숫자가 아님을 뜻함 문제에서 inf의 경우 +,-를 구분하라고 하였으므로 std::showpos를 사용해 부호를 표시 std::numeric_li.. 2023. 2. 22. CPP Module 05 전반적으로 try-catch를 사용한 에러 처리 구조 외에는 별달리 설명할 내용이 없는 과제 Exercise 00 : Mommy, when I grow up, I want to be a bureaucrat! throw로 발생시킬 예외는 클래스 내에 std::exception 클래스를 상속받는 예외 클래스를 정의해둔 후, 가상으로 선언되어있는 what() 멤버 함수를 재정의하여 사용하면 됨 단, 이 때 예외는 반드시 try 내에서 throw를 통해 던져져야만 이어지는 catch에서 인식할 수 있음 관련 지식들을 미리 정리해두었던 내용 Exercise 01 : Form up, maggots! const멤버 변수가 존재할 경우 대입 연산자를 원래처럼 사용할 수 없음 const_cast를 사용하여 const 변.. 2023. 2. 22. CPP Module 04 Exercise 00 : Polymorphism Polymorphism(다형성) : 객체의 런타임 형(type)에 따라 함수 기능에 차이를 보이는 성질 C++에서는 어떠한 클래스의 포인터 변수에 해당 클래스의 하위 클래스 객체의 주소도 할당할 수 있도록 허용됨 따라서 Animal 클래스의 포인터 변수를 선언시 하위 클래스인 Dog나 Cat을 사용할 수 있음 이 경우 virtual 키워드로 정의된 멤버 함수는 하위 클래스에서 재정의된 것으로 동작하고, 나머지는 현재 선언된 클래스의 것을 따름 const로 선언된 클래스 객체의 경우 const로 선언된 멤버 함수만 사용 가능 Exercise 01 : I don't want to set the world on fire 새롭게 할당받는 포인터 멤버 변수가.. 2023. 2. 22. CPP Module 03 Exercise 00 : Aaaaand... OPEN! 과제의 요구사항대로 구현한다면 특별히 서술할만한 내용은 없음 Exercise 01 : Serena, my love! 클래스의 상속에서, 자식 클래스는 부모 클래스의 멤버들을 이어받아 사용하게됨 부모 클래스의 private 멤버는 외부 및 자식 클래스에서 직접 사용할 수 없음 부모 클래스의 protected 멤버는 자식 클래스에서는 직접 사용할 수 있으나, 외부에서는 여전히 사용할 수 없음 부모 클래스와 자식 클래스에 같은 이름과 원형의 멤버함수가 존재하는 경우 함수의 재정의가 필요 부모 클래스에서 해당 함수를 virtual로 선언 자식 클래스에서는 새롭게 정의를 만들어 사용 상속을 사용할 경우, 소멸자는 항상 virtual로 선언 : 그렇지 않으면 .. 2023. 2. 22. 이전 1 ··· 19 20 21 22 23 24 25 ··· 44 다음