模板类的非模板友元函数
来源:互联网 发布:sql server 2008密钥 编辑:程序博客网 时间:2024/05/29 18:22
/*********************************//* 1.模板类的非模板友元函数*/*********************************/#include <iostream>using std::cout;using std::endl;template <typename T>class HasFriend{ private: T item; static int ct; public : HasFriend(const T&i):item(i){ct++;} ~HasFriend(){ct--;} friend void counts(); friend void reports(HasFriend<T> &);//不是模板函数,只是使用了一个模板做参数,// 意味必需要使用友元定义显示具体化// void report(HasFriend<short> &){...};// void report(HasFriend<double> &){...};};template <typename T>int HasFriend<T>::ct = 0;void counts(){ cout<<"int count:"<<HasFriend<int>::ct<<";"<<endl; cout<<"double count:"<<HasFriend<double>::ct<<";"<<endl;}void reports(HasFriend<int> &hf){ cout<<"HasFriend<int>: "<<hf.item<<endl;}void reports(HasFriend<double> &hf){ cout<<"HasFriend<double>: "<<hf.item<<endl;}int main(){ cout<<"No objects declared:"<<endl; counts(); HasFriend<int> hfi1(10); cout<<"After hfi1 declared:"<<endl; counts(); HasFriend<int> hfi2(20); cout<<"After hfi2 declared:"<<endl; counts(); HasFriend<double> hfib(10.8); cout<<"After hfib declared:"<<endl; counts(); reports(hfi1); reports(hfi2); reports(hfib); return 0;}
0 0
- 模板类的非模板友元函数
- 模板类的非约束模板友元函数
- 模板类的友元模板函数
- 模板类的 友元模板函数
- 友元函数和友元类(非模板)
- 模板类与非模板类中将重载操作符函数作为友元函数的区别
- 类模板遇到友元函数模板
- 模板类的友元函数
- 模板类的友元函数
- 模板类的友元函数
- C++类模板及友元类模板,友元函数模板
- 模板友元函数
- 模板的友元函数的使用
- 类模板的友元
- 类模板的友元
- 类模板的友元
- 模板函数的友元声明
- 模板友元函数的声明
- Android与Mina整合
- [CDLinux]制作U盘CDLinux系统启动盘
- python学习:for else语句
- javascript实现拖到到顶部效果
- 【USACO】transform
- 模板类的非模板友元函数
- Android Studio升级1.0 现有程序 build.gradle配置文件更新
- Shell按行读取文件的方法
- 寻找两个链表的交点
- 【USACO】namenum
- 高质量的C++编程指南总结(二):常量、函数设计
- 《设计模式之禅》——访问者模式
- Unity3D---GUI
- ioctl说明