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

C++ 模板函式小練習

1:簡單的SumArray

總時間限制: 

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

注意,從函式的呼叫來看,知道傳入的是兩個指標

#include <iostream>
#include <string>
using namespace std;

template <class T>
T SumArray(T *p1, T *p2)
{
	T re = *p1;
	p1++;
	while (p1 != p2)
	{
		re += *p1;
		p1++;
	}
	return re;
}

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;
}