C++面向对象程序设计 028:简单的foreach ---- (北大Mooc)

文章目录


原题题目

在这里插入图片描述

#include <iostream>
#include <string>
using namespace std;
// 在此处补充你的代码
void Print(string s)
{
    
    
	cout << s;
}
void Inc(int & n)
{
    
    
	++ n;
}
string array[100];
int a[100];
int main() {
    
    
	int m,n;
	while(cin >> m >> n) {
    
    
		for(int i = 0;i < m; ++i)
			cin >> array[i];
		for(int j = 0; j < n; ++j)
			cin >> a[j];
		MyForeach(array,array+m,Print);		 
		cout << endl;
		MyForeach(a,a+n,Inc);		 
		for(int i = 0;i < n; ++i)
			cout << a[i] << ",";
		cout << endl;
	}
	return 0;
}

代码实现

template <class T1,class T2>
void MyForeach(T1* startptr,T1* endptr,T2* tempprint)
{
    
    
    T1* temp;
    for(temp = startptr;temp != endptr;temp++)
        (*tempprint)(*temp);
    return;
}

猜你喜欢

转载自blog.csdn.net/qq_37500516/article/details/114991278