jade_HZY 2019-05-29 09:19 采纳率: 0%
浏览 3353

跪求用c++定义一个函数Add,实现任意两个同类型的数相加

跪求用c++定义一个函数Add,实现任意两个同类型的数相加........................

  • 写回答

5条回答

  • qtchen_1988 2019-05-29 11:13
    关注
    #include <iostream>
    using namespace std;
    
    template<typename T>
    T add(T& t1,T &t2)
    {
        T rv = t1 + t2;
        return rv;
    }
    
    class TestAdd
    {
    public:
        TestAdd(int age):m_age(age){}
        TestAdd operator +(TestAdd& scrObj){
            TestAdd ret(this->m_age + scrObj.m_age);
            return ret;
        }
        int m_age;
    };
    
    int main()
    {
        int a = 9,b = 2;
        std::cout << add(a,b) << endl;
    
        double da = 3.5,db = 5.9;
        std::cout << add(da,db) << endl;
    
        TestAdd ta(23),tb(53);
        TestAdd ret = add(ta,tb);
        std::cout << ret.m_age << std::endl;
    
        string sa("Hello"),sb(" World!");
        std::cout << add(sa,sb) << endl;
    
        char ca(20),cb(45);
        std::cout << add(ca,cb) << endl;//65(A)
    
        return 0;
    
    }
    
    

    任意类型,包括自定义类型,只不过要自己重载+操作符

    说明:虽然没有采纳,但我更新了回答,方便以后有人搜索到这个问题,希望对他有帮助

    评论

报告相同问题?

悬赏问题

  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致