-사전적정의 : 모형자 (틀) [붕어빵기계 -0-;]
-구체화된 코드를 생성할 수 있는 추상화된 코드!!
(사용시에 생성)
-헤더에 정의 (추상적이기 때문에...)
ex1)
template <class T>
void Foo(T in)
{
cout<<in<<endl;
}
void main()
{
Foo(2);
Foo('a');
}
-------------------------------
void Foo<int> (int n)
{
cout<<in<<endl;
}
------------------------------
void Foo<char>(char in)
{
cout<<in<<endl;
}
ex2)
template <class T>
void Swap(T &in1, T &in2)
{
T *temp;
*temp = in 1;
in1=in2;
in2= temp;
}
void main()
{
int a=2, b=3;
Swap(a,b);
char c= 'a', d = 'z';
Swap(c,d);
Swap<char>(a,c); // 혹은 Swap<int> (a,c);
}
-----------------------------------
void Swap<int> (int &in1, int &in2)
{
int temp;
...
}
----------------------------------
void Swap<char> (int &in1, int &in2)
{
int temp;
...
}
=>각 형식(int, char...)에 따라 템플릿이 형성이 된다.
-구체화된 코드를 생성할 수 있는 추상화된 코드!!
(사용시에 생성)
-헤더에 정의 (추상적이기 때문에...)
ex1)
template <class T>
void Foo(T in)
{
cout<<in<<endl;
}
void main()
{
Foo(2);
Foo('a');
}
-------------------------------
void Foo<int> (int n)
{
cout<<in<<endl;
}
------------------------------
void Foo<char>(char in)
{
cout<<in<<endl;
}
ex2)
template <class T>
void Swap(T &in1, T &in2)
{
T *temp;
*temp = in 1;
in1=in2;
in2= temp;
}
void main()
{
int a=2, b=3;
Swap(a,b);
char c= 'a', d = 'z';
Swap(c,d);
Swap<char>(a,c); // 혹은 Swap<int> (a,c);
}
-----------------------------------
void Swap<int> (int &in1, int &in2)
{
int temp;
...
}
----------------------------------
void Swap<char> (int &in1, int &in2)
{
int temp;
...
}
=>각 형식(int, char...)에 따라 템플릿이 형성이 된다.
'programming > C++' 카테고리의 다른 글
3. Hash Function에 의해 자료를 보관 (0) | 2009.11.19 |
---|---|
2. 특정 키순으로 보관(complete) (0) | 2009.11.19 |
MyVector - 떡떡한배열2 (0) | 2009.11.18 |
떡떡한 배열(?) (0) | 2009.11.17 |
Template(2) (0) | 2009.11.17 |