- 科目オリエンテーション
C++には関数テンプレートという優れた機能があります。(arrayとかvecotrとかもその応用)
その便利さを実感するためにまず、以下のようなプログラムを作成しなさい。
まずは復習!!
お次は配列いじりの復習
データはこれで作ってね!
#include <iostream> // cout #include <algorithm> using namespace std; int main() { std::srand( time(NULL) ); int arr[10]; for(int i=0; i<10; i++) { arr[i] = i + 1; cout << arr[i] << " "; } cout <<endl; //cout << "RAND_MAX=" << RAND_MAX << endl; int rnd1,rnd2; for(int i=0; i<30; i++) { rnd1 = rand()%10; rnd2 = rand()%10; std::swap(arr[rnd1], arr[rnd2]); } for(int i=0; i<10; i++) { cout << arr[i] << " "; } cout <<endl; return 0; }
お次は新しいこと!
関数テンプレートについて調べなさい。
調べたら、うえで作った大きいほうを返す関数を、テンプレートを使って作ってみよう!
こんな感じで使える$MaxValue$関数を作成出来たらOK
int main() { int x = 10, y = 30, z; double x1 = 15.1, y1 = 10.1, z1; z = MaxValue<int>(x, y); z1 = MaxValue<double>(x1, y1); cout << z << endl; cout << z1 << endl; return 0; }
お次は、同じように、ソート関数に関して、テンプレートを適用してみよう!
最後の問題です。
テンプレートとオーバーロードの違いをまとめなさい!
後で提出してもらいます。