类模板遇上友元函数
2016-02-23 18:39
323 查看
#include <iostream> using namespace std; template<class T> class Complex { public: Complex( T r =0, T i =0 ); Complex(T a) { Real = a ; Image = 0 ; } void print() const; friend Complex<T>operator+(Complex<T>&c1,Complex<T>&c2) { T r = c1.Real + c2.Real ; T i = c1.Image+c2.Image ; return Complex<T>( r, i ) ; } //friend Complex operator- ( const Complex<T> & c1, const Complex<T> & c2 ); //friend Complex operator- ( const Complex<T> & c ); private: T Real, Image ; }; template<class T> Complex<T>::Complex( T r, T i ) { Real = r ; Image = i ; } // template<class T> // Complex<T>operator+(Complex<T>&c1,Complex<T>&c2) // { // T r = c1.Real + c2.Real ; T i = c1.Image+c2.Image ; // return Complex<T>( r, i ) ; // } template<typename T> void Complex<T>::print()const { cout << '(' << Real << " , " << Image << ')' << endl; } void main61() { Complex<int>c1(1, 2); Complex<int>c2(3, 4); Complex<int>c3 = c1 + c2; c3.print(); system("pause"); } |
类模板遇上static |
1 从类模板实例化的每个模板类都有自己的模板数据成员,该模板类所有对象每一类共享一个static成员(所有相同类型的对象共享同一个static) 2 和所有非模板类的static数据成员一样,模板类的static数据成员也应在文件范围内定义和初始化 3 每个模板类有自己的类模板的static成员副本 |
相关文章推荐
- 关于C++中的友元函数的一些总结
- C++中的类模板详解及示例
- C++友元函数与拷贝构造函数详解
- C++函数模板与类模板实例解析
- c++友元函数与友元类的深入解析
- C++之友元:友元函数和友元类详解
- 解读C++编程中类模板的三种特化
- C++中的friend友元函数详细解析
- C++类模板与模板类深入详解
- STL与泛型编程(1)---模板
- 鸡啄米:C++编程入门系列之四十七(多态性:运算符重载为类的友元函数)
- C++实现矩阵类,实现了大部分矩阵运算功能,大家可以类比matlab
- 函数模板与类模板的简单实例
- 类模板 文件分离(VS 2012即Microsoft VISUAL STUDIO 11.0 )
- 浅谈C++中用友元函数的方法实现复合运算符(+=等)的重载方法
- 关于友元函数
- C++类模板方式实现单链表
- 友元函数
- C++之重载操作符与友元
- 集合的模拟实现(类模板)