All pastes #135881 Raw Edit

cocobo

public cpp v1 · immutable
#135881 ·published 2006-08-17 07:38 UTC
rendered paste body
#include <algorithm>#include <iterator>#include <iostream>template<class T, class U>class Summer {public:    Summer() : m_n(0) , m_sum(0) {}    void operator() (const T& n) {        std::cout << "operator() running: " << n << std::endl;        m_n++;        m_sum += n;    }    int count() const {        return m_n;    }    T sum() const {        return m_sum;    }    U mean() const {        return (m_n != 0) ? m_sum / m_n : 0;    }private:    int m_n;    T m_sum;};using namespace std;int main() {    cout << "Input data end with ctrl+D" << endl;    Summer<int,float> sum;    for_each(istream_iterator<int>(cin),istream_iterator<int>(),sum);//    Summer<int, double> sum = for_each(istream_iterator<int>(cin), istream_iterator<int>(),//                        Summer<int, double>());        cout << "count: " << sum.count() << endl << "sum: " << sum.sum() << endl             << "mean: " << sum.mean() << endl; }