함수의 템플릿(template)
함수 템플릿이란, 구체적인 데이터를 포괄할 수 있는 일반형으로 함수를 정의하는 것을 말한다
※ 일반화 프로그래밍: 특정한 데이터형에 귀속되지 않고, 일반적·범용적으로 사용할 수 있게 하는 것
Any형 템플릿을 통해, 자료형에 관계없이 합산값을 출력해주는 함수 sum의 코드를 작성해보자
① template <typeName Any> 형태로 템플릿의 원형 제공 후, 사용할 함수 sum의 원형 제공
#include <iostream>
using namespace std;
//class 혹은 typeName
template <class Any>
Any sum(Any, Any);
② 자료형에 관계없이 두 변수의 합을 출력하는 sum 함수 메인 코드 작성
int main()
{
int a = 3;
int b = 4;
cout << sum(a, b) << endl;//int형 변수의 합을 출력하는 함수 sum
float c = 3.14;
float d = 1.592;
cout << sum(c, d) << endl;//float형 변수의 합을 출력하는 함수 sum
return 0;
}
③ template <typeName Any>, sum 함수 정의
template<class Any>
Any sum(Any a, Any b) {
return a + b;
}
※ 주의사항
Any 형을 활용한 sum은 자료형에 관계없이 합산값을 출력하는 함수지만, sum(int,float) 과 같이 자료형을 혼합하여 사용할 수는 없다.
※ 해당 게시글은 개인 학습의 목적으로, 아래 강의를 수강한 후 정리한 학습노트입니다.
'C++ 프로그래밍 > 기초 문법' 카테고리의 다른 글
[C++ 기초 문법] 추상화와 클래스 (0) | 2024.02.11 |
---|---|
[C++ 기초 문법] 분할 컴파일 (0) | 2024.02.11 |
[C++ 기초 문법] overloading (0) | 2024.02.11 |
[C++ 기초 문법] 참조변수 reference & (0) | 2024.02.08 |
[C++ 기초 문법] inline 함수 & default 매개변수 (0) | 2024.02.08 |