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

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

#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;

}

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

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

#define Add(p,q) ((p)+(q))

int add(int a,int b) {
int c=0;
c=a+b;
return c;
}

#include
#include
#include
#include
#include<bits/stdc++.h>
#include
using namespace std;
int Add(int a,int b){
int c=a+b;
return c;
}
int main(){

return 0;

}


void add(int n1[],int n2[],int n3[]){
    int d[N] = {0};
    int len = max(n1[0],n2[0]);

    for (int i = 1; i <= len ; ++i) {
        d[i] += n1[i] + n2[i];
        d[i + 1] = d[i] / 10;
        d[i] = d[i] % 10;
    }

    int l = len + 1;

    while(d[l] == 0 && l > 1){
        l --;
    }
    d[0] = l;
    memcpy(n3,d, N * sizeof(int));
}

多大的数都可以相加