-
[C++ 문법] Template프로그래밍/C++ 2019. 4. 2. 21:38
C++ 문법
Template
개념부분은 내용을 조금씩 추가 할 예정입니다.
문법
template <class T> or template <typename T>
1 2 3
1 : 선언해주는 이름
2 : class, typename 두 가지의 경우가 있는데, 아무거나 사용해도 좋다. 하지만 class 의 경우 이미 정해진 이름이 있기 때문에 보통 typename 을 사용한다.
3 : 여기에는 편하게 사용할 문자를 사용하는데, 역시 보통 T 를 사용합니다.
코드 예시1)
: 같은 자료형인 두개의 인수를 받는 경우
123456template <typename T>T add(T a, T b){return a + b;}cs 다시 return 하는 경우 당연히 함수도 T 로 선언해줘야 겠죠ㅎㅎ
코드 예시2)
: 다른 자료형인 두개의 인수를 받는 경우
1234567template <class T1, class T2>void print(T1 a, T2 b){cout << "T1 : " << a << endl;cout << "T2 : " << b << endl;}cs 지금은 return 값이 필요 없으므로 void로 선언됬습니다.
코드 예시3)
: T 자료형을 출력하거나 사용할때는 꼭 자료형을 표시해줘야 합니다.
123456789101112131415161718192021222324252627282930#include <iostream>#include <string>using namespace std;template <class T>T add(T a, T b){return a + b;}int main() {int a = 1;int b = 2;float f1 = 12.0f;float f2 = 13.1f;string s1 = "해도해도 ";string s2 = "끝이 없다.";cout << "int 합 :" << add<int>(a, b) << endl;cout << "float 합 :"<< add<float>(f1,f2) << endl;cout << "string 합 : "<< add<string>(s1,s2) << endl;return 0;}cs '프로그래밍 > C++' 카테고리의 다른 글
[C/C++] C++ STL Stack 기본 사용법 및 예제 (0) 2019.08.22 [C/C++] C ++ STL Queue 기본 사용법 및 예제 (0) 2019.08.21 [C++ 문법] 구조체 (0) 2019.04.04 [C++ 문법] 참조자형 (0) 2019.04.04 [C++ 문법] Nullptr (0) 2019.04.03