[C++]スラスラわかるC++ 関数テンプレート 10_2 cpp function Template Standard Template Library (STL)

■関数テンプレート(Tはプレースホルダ)
template <Class T>T 関数名(T 引数名,T 引数名){
        Tをデータ型とした変数を使った処理;
}

list10_2.cpp

#include <iostream>
using namespace std;

// 関数テンプレートで定義したgetMin関数
//template <Class T>T 関数名(T 引数名,T 引数名){
template <class T> T getMin(T a, T b) {
  //return a < b ? a : b;
    if (a < b) {
        return a;
    } else {
        return b;
    }
}

// main関数
int main() {
  // int型のgetMin関数を呼び出す
  int a, b, c;
  a = 123;
  b = 456;
  c = getMin(a, b);
  cout << c << endl;

  // double型のgetMin関数を呼び出す
  double x, y, z;
  x = 1.23;
  y = 4.56;
  z = getMin(x, y);
  cout << z << endl;

  return 0;
}

cd_samples10_2_template.cmd


C:\samples\chapter10>cd C:\samples\chapter10\

C:\samples\chapter10>g++ -o list10_3.exe list10_3.cpp

C:\samples\chapter10>list10_3.exe
123
1.23
a
1.11

C:\samples\chapter10>cmd /k
C:\samples\chapter10>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です