C++ 프로그래밍/기초 문법

[C++ 기초 문법] 함수의 템플릿(template)

SW Developer 2024. 2. 11. 16:20

함수의 템플릿(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) 과 같이 자료형을 혼합하여 사용할 수는 없다. 

 

 

 

 

※ 해당 게시글은 개인 학습의 목적으로, 아래 강의를 수강한 후 정리한 학습노트입니다.

https://inf.run/pypW