본문 바로가기

C++33

C++ 예외 처리 기본적인 예외 처리 메커니즘( try, catch, throw) try - 예외 발생에 대한 검사 범위를 설정할 떄 사용된다. 즉 try 블록으로 쌓여진 범위는 예외 상황이 발생하였는지에 대한 검사 대상의 범위가 된다. try{ /*예외 발생 예상지역 */ } catch - 예외를 처리하는 코드 블록을 선언할 때 사용한다. try 블록내에서 발생한 예외 상황을 처리하는 코드가 존재하는 영역으로서, 그 형태가 마치 리턴 타입 없는 함수와 유사하다. catch(처리되어야 할 예외의 종류){ /* 예외를 처리하는 코드가 존재할 위치 */ } try와 catch catch 블록은 항상 try 블록 뒤에 바로 이어서 등장해야 한다. 그래서 보통은 try와 catch를 하나의 문장으로 간주한다. try{ /* 예외.. 2009. 2. 18.
use of class template requires template argument list ->컴파일 에러 어이상실 ㅋㅋ 내가 중요하다고 해놓고..내가 바로 만들떄 뺴먹엇다 ㅡ.ㅡ;; 역시 프로그램을 만들어야한다. 템플릿 변수()가 사용되고 있는 함수에 를 추가하지 않았을 경우 발생하는 에러. template //void MyClass::Print() void MyClass::Print() { cout 2009. 2. 18.
클래스 템플릿! 클래스 템플릿도 함수 템플릿과 같은 개념으로 접근하면 어려울 것이 없다. ex) #include using std::endl; using std::cout; template class Data { T data; public: Data(T d){ data=d; } void SetData(T d){ data = d; } T Get Data(){ return data; } }; 여기서 주의해야될것은 템플릿이라고 해도 다른 자료형 선언이 가능하다는 것이다. for문을 리려면 int 형 변수가 있어야 하지 않겠는가? 함수가 리턴하지 않으면 void 선언도 해줘야하지 않겟나? 그래서 그렇군.ㅋㅋ 위에서 정의한 클래스 템플릿 기반으로 객체를 생성하는 main 함수 소스 int main(void) { Data d1(0.. 2009. 2. 18.
함수 템플릿!!! 이 책에서는 템플릿을 모형자에 비유하여 설명하을 한다. 모형자는 기능은결정되어 있는 반면에 색은 결정되어 있지 않다는게 특징이다. "기능은 결정되어(정의되어) 있는 반면, 색은 결정되어 (정의되어) 있지 않다." 예를 들어서 원을 그릴 수 있는 모형자가 있다고 가정해 보자. 이 모형자의 기능은. 원을 그리는 것이다. 단! 그려지는 원의 색은 결정되어 있지 않다. 그렇다면 무엇에 의해서 색깔이 결정는가? 그림을 그리는 순간에 사용되는 펜에 의해서 색이 결정된다. -> 예를 들어서 개념을 이해 하자~ ex) int Add(int a, int b) { return a+b; } 위 함수는 두개의 데이터를 더하는 기능을 가지고 있다. 뿐만 아니라, int 형 정수로 덧셈의 대상도 정해져 있다. 즉 대상이 되는 데.. 2009. 2. 17.