함수를 다중 정의하는 이유는 사용자의 편의성과 확장성을 위한 것입니다. 함수를 여러번 쓰면 귀찮고 번거로울 수 있습니다.

프로그램의 유지보수를 생각하면, 함수가 여러개를 고치는 일은 비효율적입니다.

이를 위해 함수 다중 정의 보다 '함수 템플릿' [Template] 을 사용하는 것이 좋습니다.

형식은 다음과 같습니다.

template <typename T>

반환형식 함수이름(매개변수)

{

}

template <자료형 자료형> 입니다.


C++ 템플릿은 함수와 클래스에 사용할 수 있습니다. 자료형을 가져올 수 있기 때문에

여러번 호출 할 수 있습니다.






예제 코드를 봅시다.  호출된 함수안에 대입된 값으로 자료형을 파악할 수 있습니다.

Add(3 , 4 ) 에서 3이면 integer 입니다.  Add(3.3 , 4.4)에서 3.3 이면 double 입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <iostream>
 
template <typename T>
T Add(T a, T b)
{
  return a + b;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
  std::cout << Add(34<< std::endl;
  //std::cout << Add<int>(3, 4) <<std::endl;

  std::cout << Add(3.34.4<< std::endl;
 
  return 0;
 
}

cs



저작자 표시
신고

'Study > light_C++' 카테고리의 다른 글

ch2-4 함수 다중 정의  (0) 2016.09.07
ch2-3 함수 템플릿  (0) 2016.09.07
New 와 delete 연산자  (0) 2016.07.24
자료형  (0) 2016.07.24
Chap 2. C++ 함수와 네임스페이스  (0) 2016.06.27

WRITTEN BY
Profile
비타오백
Enjoy your stage!

받은 트랙백이 없고 , 댓글이 없습니다.
secret