C++ 编程题练习(9-2)

来源:互联网 发布:安庆网络问政平台2017 编辑:程序博客网 时间:2024/06/06 03:51

C++ 编程题练习

来源:coursera c++ pku 第9周编程作业

一、题目

描述:

写一个自己的 CMyistream_iterator 模板,使之能和 istream_iterator 模板达到一样的效果。

输入:

79 90 20 hello me

输出:

79
79,90,20
hello,me

#include <iostream>#include <string>using namespace std;// 在此处补充你的代码int main(){    CMyistream_iterator<int> inputInt(cin);    int n1,n2,n3;    n1 = * inputInt; //读入 n1    int tmp = * inputInt;    cout << tmp << endl;    inputInt ++;    n2 = * inputInt; //读入 n2    inputInt ++;    n3 = * inputInt; //读入 n3    cout << n1 << "," << n2<< "," << n3 << endl;    CMyistream_iterator<string> inputStr(cin);    string s1,s2;    s1 = * inputStr;    inputStr ++;    s2 = * inputStr;    cout << s1 << "," << s2 << endl;    return 0;}

二、程序

template <class T>class CMyistream_iterator{    private:        istream & is;        T value;    public:        CMyistream_iterator(istream & is):is(is) { is>>value; }        void operator++(int) { is>>value; }        T & operator*(){ return value; }};
0 0