c, git, 컴퓨터/c++

Template

컴맹학자 2022. 10. 6. 23:44
728x90

사용 이유

 

함수 또는 클래스가 어떤거 들어오는지 모르는 상황에서 Template함수를 통해서 들어오는 해당 타입으로 변경 해서 사용이 가능


특징

 

1. 함수, 클래스, 매개변수에 들어오는 타입에 따라 변경

2. 다른 타입이지만 작업 방식은 같을때 해당 함수로 선언된 함수를 사용 가능


사용 예제

 

02_Template.cpp

더보기
#include "Global.h"
#include "02_Template.h"
void main()
{
test1<int>(50);
string str;
str = "my world";
test1<const char*>(str.c_str());
cout <<test2<float>(10, 0.1f) << endl;
cout << test2<string>("내용"," 합치기").c_str() << endl;
system("pause");
}

 

02_Template.h

더보기
#pragma once
//1. void 형태
template<typename T>
void test1(T val)
{
cout <<"Tempalte 들어온 값 : " << val << endl;
}
//2. 반환 형태
template<typename T>
T test2(T val, T val2)
{
return val + val2;
}

실행 

 

 

cpp 내용을 보면 전혀 다른 타입으로 지정 후 값을 셋팅 하게 되면 해당 변수 타입에 따라 함수가 작동 되는걸 확인

지금은 변수로만 사용 했지만 class 타입을 넣어서 사용이 가능하다.

'c, git, 컴퓨터 > c++' 카테고리의 다른 글

DX_4 Keyborad & stdafx.h 수정  (0) 2022.11.15
Singleton  (0) 2022.10.24
Static Lib  (0) 2022.10.13
Function (함수)  (0) 2022.10.03