模板函数无法对自定义数据类型进行操作(如类)
在这里插入图片描述
这个时候我们重载一个函数匹配操作即可
在这里插入图片描述

#include "iostream"

using namespace std;

class base
{
public:
    base(int a) : a(a) {}
    int a;
};

template <class T, class T1>
bool compare(T a, T1 b)
{
    if (a > b)
        return 1;
    else
        return 0;
}

bool compare(base a, base b)
{
    if (a.a > b.a)
        return 1;
    else
        return 0;
}

void operator<<(ostream &amp;out, base data)
{
    cout << data.a << endl;
}

int main()
{
    base c(50);
    base d(80);
    if (compare(c, d))
    {
        cout << c;
    }
    else
    {
        cout << d;
    }
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注