전체150 클래스 템플릿! 클래스 템플릿도 함수 템플릿과 같은 개념으로 접근하면 어려울 것이 없다. 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. 임시 객체에 대하여.... 실행 도중에 잠깐만 사용되는 객체, 사용자 모르게 이름도 없이 사용되는 객체, 소스 코드에도 없는 힙 이외의 공간에 생성되는... 이것이 임시 객체이다. 임시 객체는 코드 수행을 위해 컴파일러가 만들어내는 말 그대로 임시 객체이며, 임시 객체가 사용될 때에는 반드시 임시 객체의 생성과 소멸이라는 비용이 뒤따른다. 일반적으로 임시 객체가 생성되는 경우는 다음과 같이 크게 두 가지로 나눌 수 있다. 1. value 또는 const & 형식으로 함수에 전달되는 객체의 타입과 바인딩되어야 하는 (원래 함수 선언에 들어 있는) 매개변수의 타입이 다를 때. 2. 함수의 반환값이 value 일 때. size_t coutCh(const string &str, char ch); // 특정 ch의 개수 반환 함수 char.. 2009. 2. 16. 연산자 우선순위 우선 순위 연산자 결합 순서 유형 1 () , [] , -> ==> 괄호 와 구분자 구조체 맴버 지정자 2 ! ~ ++ -- + - * & (type)sizeof 이항 연산자 4 + - ==> 이항 연산자 5 ==> 쉬프트 연산자 6 = ==> 비교 연산자 7 == != ==> 비교 연산자 8 & ==> 비트 연산자 9 ^ ==> 비트 연산자 10 | ==> 비트 연산자 11 && ==> 논리 연산자 12 || ==> 논리 연산자 13 ?: 2009. 2. 16. 이전 1 ··· 26 27 28 29 30 31 32 ··· 38 다음