c++实例研究

从0开始

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  104 随笔 :: 0 文章 :: 20 评论 :: 0 Trackbacks
#include <iostream>
#include 
<vector>
#include 
<stdlib.h>
using namespace std;

template
<typename T> class person;

template
<typename T>
ostream
& operator<<(ostream & ostr, person<T>& p);

template
<typename T>
class person
{
public:
    person(T _data):data(_data)
{cout<<"person constructor"<<endl;}
    person(person
<T>& rhs){cout<<"person copy constructor"<<endl;}
    person
<T>& operator=(person<T>& rhs){ cout<<"person operator ="<<endl; return *this;}
    
~person(){cout<<"person destructor"<<endl;}
    
    friend ostream
& operator<< <T>(ostream& ostr, person<T>& p);
    
private:
    T data;
}
;

template
<typename T>
ostream
& operator<<(ostream& ostr, person<T>& p){
    ostr 
<< p.data << endl;
    
return ostr;
}


int main()
{
    person
<int> man(1);
    cout
<<man<<endl;
    system(
"PAUSE");
    
return 0;
}

posted on 2010-10-01 20:38 elprup 阅读(242) 评论(0)  编辑 收藏 引用 所属分类: c++实例

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理