1. 程式人生 > >C++ 模板類練習

C++ 模板類練習

總時間限制: 

1000ms

記憶體限制: 

65536kB

// 在此處補充你的程式碼

描述

填寫模板 PrintArray,使得程式輸出結果是: TomJackMaryJohn 10 不得編寫SumArray函式

#include <iostream>
#include <string>
using namespace std;
template <class T>
T SumArray(
}
int main() {
	string array[4] = { "Tom","Jack","Mary","John"};
	cout << SumArray(array,array+4) << endl;
	int a[4] = { 1, 2, 3, 4};  //提示:1+2+3+4 = 10
	cout << SumArray(a,a+4) << endl;
	return 0;
}

輸入

輸出

TomJackMaryJohn
10

樣例輸入

樣例輸出

TomJackMaryJohn
10

來源

Guo Wei

注意模板函式的返回值為T,所以傳入的引數應該是T*

#include <iostream>
#include <string>
using namespace std;
template <class T>
T SumArray(T* array_start,T* array_end)
{
	T sum = *array_start;
	T *i;
	for (i = array_start + 1; i < array_end; i++)
	{
		sum += *i;
	}
	return sum;
	// 在此處補充你的程式碼
}
int main() {
	string array[4] = { "Tom","Jack","Mary","John" };
	cout << SumArray(array, array + 4) << endl;
	int a[4] = { 1, 2, 3, 4 };  //提示:1+2+3+4 = 10
	cout << SumArray(a, a + 4) << endl;
	return 0;
}