奕昕 2020-12-15 21:58 采纳率: 100%
浏览 25
已采纳

【困扰一晚 求大佬】能直接用类名+()调用类的非静态成员函数?

#include <iostream>
#include<string>
#include<vector>
using namespace std;

template <typename Object, typename  Comparator>
const Object& findMax(const vector<Object >& arr, Comparator cmp)
{
    int maxIndex = 0;
    for (int i = 1; i < arr.size(); i++)
        if (cmp.isLessThan(arr[maxIndex], arr[i]))
            maxIndex = i;
    return arr[maxIndex];
}
class CaseInsensitiveCompare
{
public:
    bool isLessThan(const string& lhs, const string& rhs) const
    {
        return _stricmp(lhs.c_str(), rhs.c_str()) < 0;
    }
};
int main()
{
    vector<string> arr(3);
    arr[0] = "ZEBRA";
    arr[1] = "alligator";
    arr[2] = "crocodile";
    cout << findMax(arr, CaseInsensitiveCompare()) << endl; //这里!

    return 0;
}

编译是可以通过的,但是main中findMax(arr, CaseInsensitiveCompare())是如何调用的还是没想明白,也没有搜到类似的用法,求指点啊

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 VS2019不能设置QT的verson了,设置了点确定又消失了,怎么解决呢?
      • ¥15 用java解决,要解释一下给我
      • ¥100 项目经理想学开发牛牛指点迷津有偿
      • ¥15 vscode 配置时出现问题
      • ¥15 pygame安装失败
      • ¥15 数据库原理怎么从文字描述中的句子推出(分析)函数依赖?
      • ¥15 想要使用有序logistic模型,因变量收集结果为以下,可以继续分析吗?
      • ¥15 C语言的问题 求尽快解答一下
      • ¥15 sql相关子查询的一道选择题
      • ¥15 关于图像检测的问题#