C++类模板的问题

2024-11-23 13:33:35
推荐回答(1个)
回答1:

你的代码有如下问题:

  1. pair与std标准库的pair命名冲突,一般来说尽量不要使用using namespace std;使用std::cout这种格式是一种良好的编程

  2. 定义函数template T pair::getmax ()格式不对,应该为template T pair::getmax ()

  3. pair myobject(100,75);使用模板类应该传入类型,即pair myobject(100,75);

修改后代码如下:

#include 

template 
class pair
{
private:
    T value1, value2;
public:
    pair(T first, T second)
    {
        value1 =first;
        value2=second;
    }
    T getmax();
};

template 
T pair::getmax ()
{
    T retval;
    retval = value1 > value2 ? value1 : value2;
    return retval;
};

int main()
{
    pair myobject(100,75);
    std::cout << myobject.getmax() << std::endl;
    return 0;
}

编译运行结果如下: