zoukankan      html  css  js  c++  java
  • 在c++ 模板类外写 操作符重载函数,并且是模板类的友元函数

    看视频教程说不能在c++ 模板类外写 操作符重载函数,并且是模板类的友元函数

    我试了试,可以,放出测试代码:

    #include <iostream>
    using namespace std;
    
    template<typename T>
    class A
    {
    public:
        A(T a)
        {
            this->a = a;
        }
    
        template<typename T> //加上这句就可以了
        friend A<T> operator+(A<T> &a1, A<T> &a2);
    
        T getA(){
            return this->a;
        }
    private:
        T a;
    };
    
    template<typename T>
    A<T> operator+(A<T> &a1, A<T> &a2){
        T a = a1.a + a2.a;
        A<T> tmp(a);
        return tmp;
    }
    
    void main()
    {
        A<int> a1(2);
        A<int> a2(4);
        A<int> a3 = a1 + a2;
    
        cout << a3.getA() << endl;
    }

     希望我不是火星了

    字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁字数补丁

  • 相关阅读:
    [BZOJ]4810: [Ynoi2017]由乃的玉米田
    VK Cup 2017
    Educational Codeforces Round 19
    [BZOJ]4162: shlw loves matrix II
    2017-4-14校内训练
    第一次 CSP-S 的游记
    APIO2009 采油区域
    NOIP2017 逛公园
    NOIP2013 货车运输
    【9018:1458】征兵
  • 原文地址:https://www.cnblogs.com/zongchenjie/p/5894751.html
Copyright © 2011-2022 走看看