無題

          拿個學(xué)位是騙自己的。學(xué)問是一輩子的。

          統(tǒng)計

          留言簿(3)

          閱讀排行榜

          評論排行榜

          C++練習(xí)代碼之1

           1#include <iostream> 
           2#include <vector> 
           3#include <algorithm> 
           4#include <string> 
           5
           6using namespace std; 
           7
           8template<typename T> 
           9class Sum
          10  private
          11    T val; 
          12  public
          13  Sum(T i) :val(i)
          14  }
          ;
          15  operator T() const
          16    return val; 
          17  }
          ;
          18  T operator()(T i)
          19    return val+=i; 
          20  }

          21  T getVal()
          22    return val; 
          23  }
          ;
          24  friend ostream& operator<< (ostream &out,const Sum<T> &s)
          25    return out << s.val; 
          26  }
          ;
          27}

          28
          29int main(int argc, char* argv[])
          30  vector<string> v; 
          31  v.push_back(string("1")); 
          32  v.push_back(string("2")); 
          33  v.push_back(string("3"));
          34  cout << "the sum is " << for_each(v.begin(), v.end(), Sum<string>("")) << "\n";
          35  system("PAUSE"); 
          36  return EXIT_SUCCESS; 
          37}
          ;  
          38

          這里面的那個重載<<的寫法,自己也還沒搞懂原因,只是試出來的,為什么要加那個friend關(guān)鍵字才能編譯通過呢?不加編譯器報的錯又是什么意思呢?希望有誰懂的能解釋下...

          posted on 2008-01-25 22:04 閱讀(314) 評論(0)  編輯  收藏 所屬分類: My Program

          主站蜘蛛池模板: 普安县| 安义县| 利川市| 新郑市| 台湾省| 仁怀市| 文水县| 沈丘县| 任丘市| 汝城县| 思南县| 拉孜县| 都江堰市| 武冈市| 冕宁县| 乐昌市| 衡东县| 孝感市| 南岸区| 中江县| 延津县| 长丰县| 太仓市| 兴隆县| 红原县| 沐川县| 介休市| 江安县| 滦平县| 汉源县| 突泉县| 益阳市| 综艺| 永福县| 右玉县| 固镇县| 云霄县| 弋阳县| 石棉县| 资阳市| 乐山市|