美文网首页
C++类模板友元函数和操作符<<重载实例

C++类模板友元函数和操作符<<重载实例

作者: 司马捷 | 来源:发表于2016-08-09 17:57 被阅读42次
#include <iostream>
using namespace std;

//template<class T> class Test;


template <typename T>
class A{
public:
    
//    friend ostream &operator <<(ostream &out,A&obj){
//        out<<obj.a<<endl;
//        return out;
//    }
   // friend ostream &operator << <T>(ostream &out,const A<T>&);

    friend void friendPrint();
    template<typename C>//这个参数的类型和 T 不同
    friend void friendPrint2(A<C> &a);
    
//    friend void frindPrint3<T>(T u);
   // friend void display(A<T> &t);
    A operator+(A &c2){
        A tmp(a+c2.a);
        return tmp;
    }
    A(T a){
        this->a = a;
    }
public:

    void printA(){
        cout<<"a :"<<a<<endl;
    }
    int getA(){
        return a;
    }
private:
    T a;
};

template <typename T>
ostream &operator <<(ostream &out, A<T>&obj){
    out<<obj.getA();
    return out;
}

//template<typename T>
void friendPrint(){
    cout<<"----"<<1111111<<endl;
}
template <typename C>
void friendPrint2(A<C> &mya){
    
    cout<<mya.a<<endl;
}

int main(int argc, const char * argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";
    
    
    A<int> a1(10);
    A<int> a2(20);
    A<int> a3 = a1+a2;
  //  a1.printA();
    cout<<a3<<endl;
    
    friendPrint();
    //friendPrint(a3);
    friendPrint2(a3);
    
    return 0;
}

相关文章

  • C++类模板友元函数和操作符<<重载实例

  • Geekband C++ 第五周

    概述 C++模板简介 函数模板 C++类模板 操作符重载 泛型编程 容器

  • 10-C++远征之模板篇-学习笔记

    C++远征之模板篇 将会学到的内容: 模板函数 & 模板类 -> 标准模板类 友元函数 & 友元类 静态数据成员 ...

  • 慕课网-C++远征之模板篇(上)-学习笔记

    C++远征之模板篇 将会学到的内容: 模板函数 & 模板类 -> 标准模板类 友元函数 & 友元类 静态数据成员 ...

  • 15.C++泛型

    模板函数 模板类 函数模板和友元函数 注意,只在重载左移右移运算符的时候使用友元函数,其他都不要用,友元函数容易导...

  • 操作符("<<")的友元函数重载

    在学习 操作符重载 的过程中,"<<"操作符只能通过友元函数添加重载。实验的过程中遇到一个问题,编译器预编译的时候...

  • c++操作符重载

    一. +号操作符重载 1.在类中重载 在 .h声明 在 .cpp文件 2.全局函数重载 在 .h声明中声明友元函数...

  • C++模板

    要点 模板函数在类的外部定义 友元函数在类的外部定义(<<的重载) 模板类中静态变量的使用规则 示例 Array....

  • 14/15

    约束模板友元 模板类的外边定义一个模板函数,在模板类中将模板函数具体化为模板类的友元函数 非约束模板友元 模板类中...

  • 类模板中的友元函数

    今天写cpp的时候,忘记了类模板中的友元怎么用了记录一下 先声明类模板,和友元函数 类模板中声明友元函数 类模板外...

网友评论

      本文标题:C++类模板友元函数和操作符<<重载实例

      本文链接:https://www.haomeiwen.com/subject/viedsttx.html