模板友元函数
2011-09-25 14:16
169 查看
友元函数:解决从外部函数访问类的内部私有或保护数据。
模板友元函数:需要注意在定义中需要加上完整申明。
#include <iostream>
using namespace std;
template <typename T>class Complex
{
protected:
T real, imag;
public:
Complex(T real_init, T imag_init) : real(real_init), imag(imag_init) {}
public:
template <typename U> friend U get_real(Complex<U>& c); //不能缺少,否则不能编译通过
template <typename U> friend U get_imag(Complex<U>& c);
};
template <typename U>U get_real(Complex<U>& c)
{ return c.real;}
template <typename U>U get_imag(Complex<U>& c)
{ return c.imag;}
int main()
{
Complex<int> a(1, 2);
cout<< get_real(a) <<endl;
cout<< get_imag(a) <<endl;
}
相关文章推荐
- 模板友元函数的声明
- C++类模板及友元类模板,友元函数模板
- ※C++随笔※=>☆C++基础☆=>※№→友元●友元函数●友元类●友元模板
- 队列(queue) 之 c++模板实现(友元函数和运算符重载)
- C++类模板中友元函数的使用
- C++在类模板中实现友元函数的方法
- 2013级C++第7周(春)项目——深复制、友元、模板 【项目3-成员函数、友元函数和一般函数有区别】
- c++远征之模板篇(友元函数和友元类)
- 第七周——模板中的友元函数
- c++远征之模板篇——友元函数、友元类
- 模板的友元函数的使用
- c++类模板之间友元函数调用
- 类模板中使用友元函数
- 类模板遇上友元函数
- 类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器
- 友元函数模板问题
- 在类模板中使用友元函数的问题
- 模板类的非约束模板友元函数
- 队列(queue) 之 c++模板(友元函数和运算符重载)
- 类模板遇到友元函数模板