// 템플릿.cpp: 콘솔 응용 프로그램의 진입점을 정의합니다.
//
#include "stdafx.h"
#include <iostream>
//템플릿 함수 Template Function
template <typename 주물틀> //템플릿 문법
//타입이 바로 자료형
//요형에 맞는걸 T로 만듬
주물틀 합계(주물틀 _왼편 , 주물틀 _오른편)
{
return _왼편 + _오른편;
}
int main()
{
//템플릿
//주물틀 이라고 보면 된다...
//템플릿은 뭐냐면 객체지향쪽이라기보다는 자료구조와 가깝다고 보면 된다.
//우리가 특정한 클래스나 자료 그러니까 변수를 만들었는데
//그 기능들이 특정한 자료형에 귀속되지않게 만들어주는 것이다.
//더하기 함수를 만든다고치자. 정수 더하기 함수 인데 실수 던지면 잘리니까. 그걸 제대로 출력되게하려면 ...
//일단은 함수를 전역에 만들어보죠.
int 판옥선 = 666;
int 초탐선 = 777;
float 세키부네 = 12.60f;
//합계(666, 660.666); //이렇게하면안되고
//합계(판옥선, 세키부네); //이렇게써도안되고
std::cout <<
합계<int>(판옥선, 세키부네) //;
<< std::endl;
std::cout <<
합계<int>(판옥선, 초탐선) //;
<< std::endl;
float 실수 = 66.66;
float 실수2 = 77.777;
std::cout <<
합계<float>(실수, 실수2) //;
<< std::endl;
std::cout <<
합계<double>(실수, 실수2) //;
<< std::endl;
//쉽죠?
//템플릿은 주물틀로서 우리가 어떤 함수를 만들었는데 여러 자료형들을 관리할수있게 만들고싶으면
//이렇게한다는거다.
//함수만 가지고 탬플릿하면 재미없다. 클래스도 탬플릿이 가능하다.
return 0;
}
ㄴ 이미 한지 오래임 4개월전 - dc App