设为首页 加入收藏

TOP

2.5.2 友元函数模板
2013-10-07 16:30:27 来源: 作者: 【 】 浏览:134
Tags:2.5.2 函数 模板

2.5.2 友元函数模板

C++(www.cppentry.com)中的类可以声明友元函数和友元类,也可以声明友元函数模板和类模板。友元函数模板与类模板的任何实例都是该类的友元,可以访问类中私有成员。声明友元模板的例子如下:

  1. class citizen  
  2. {  
  3.     int id;  
  4.     double money;  
  5.  
  6.     template<typename T> 
  7.     friend class FBI_agent;  
  8.  
  9.     template<typename T> 
  10.     friend T duty(citizen &);  
  11.  
  12. public:  
  13.     citizen(int id) : id(id) {}  
  14. }; 

在上例中,citizen类声明了一个友元类模板FBI_agent。注意,在此无须为FBI_agent模板做前置声明。有此声明,无论是FBI_agent<Mulder>还是FBI_agent<Scully>,都可以访问到citizen类中的私有函数,比如id。此外,citizen中还声明了友元函数模板duty,无论是duty<military_service>还是duty<tax>,都可以访问甚至修改citizen中的成员,比如money。
 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.5.1 成员函数模板 下一篇2.6 类模板的静态成员

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: