Template (템플릿) 에 대한 공부중인데연.
템플릿이 하나의 틀이고 그기에 무엇을 집어넣던지 간에 틀에 맞게
제작되어 나온다는데용.
그말은 템플릿에서 int, float 이런 타입은 아무런 문제가 되지 않는다는건가요?
int형으로 지정된 클래스(이게 말이되는건지;)는 int형만 받을수있자나요.
만약 그 클래스를 float을 사용할수 있게하려면 float를 사용할수있도록
구조를 바꿔줘야하는데
템플릿으로 만들어버리면 그게 상관이 없다는건가욯 / ㅠ
그리고 ADT 에 대해서 도무지 뭔말하는지모르겠어요.;
책에서 객체가 아니라 개념에 가깝다며 설명하는 부분이 있었는데 ...
예를들면 \"원,사각형,삼각형\" 이런것이아니라 \"모양\" 을 나타낸다라고...
이해가 될법하면서도 되지않는;;;
ADT는 그럼 하위클래스들에게 자신의 멤버함수만 넘겨줄 뿐
아무런 일은 하지 않는걸 말하는건가요 ?
ㅠㅠ 독학하는데 죽겠네요 ㅠ
어젠 소스를 해석할수있는정도의 공부분을 하느라 개념이해도 어느정도되었는데
오늘은 개념이해부터가 힘드니 소스도 보기힘들고 ㅠㅠ ...
죽겠네요 ㅠㅠ 힝
어제 왔던횽이네염 ㅎㅇㅎㅇ
책을 봤으면 예제를 코딩해볼 시간. 난 밥먹으로 갈태니 즐공~
Template 는 typename 혹은 class 인자를 지정하면 그에 맞게 코드 한 벌이 더 생기는 걸로 구현한다.. 그래서 말마따나 int, float 든 template 지정 내부 클래스 혹은 함수에서 쓰는 operator 들이나 다른 연산 수식에 어긋나는것이 없는한 사용 가능하다. 2 번째는 뭔가 이상한데... 그냥 구현으로 int 형 스택을 구현했다고 치고 그걸 float 로 바꾸려면 typename 으로 template 를 설정하여 선언시 template 인자를 float 로 주면 된다는 거고.. ADT 머 정확히 말하는 용어가 맞는지 모르겠는데.. Shape 같이 형태를 정의하는 순수가상함수가 들어가거나 가상함수가 들어간 클래스를 얘기하는거 같네.
ADT는 그냥 개념잡기용..
Dynast횽 ㅎㅇㅎㅇ . 현재 교재로는 Fundamentals of Data Structures <2nd Edition> 인데.. 너무 능력자횽들에게 맞춰진듯해 ;; 초보자를위한C++은.. 너무 대충인거같고 ㅠ
남자라면 근성의 Accelerated C++
ADT는 굳이 말하면 어떤 type의 spec을 얘기하는거 아냐? 어떤 요소를 표현할수 있구,어떤 연산을 할수가있구 뭐 그런거; 객체지향처럼 뭐 상속이니 뭐니 그런거 없구