#include <QCoreApplication>
#include <QDebug>
template <class T>
T My_Max(T a,T b){
return a>b?a:b;
}
template <typename T>
bool IsBig(T a, T b)
{
return a>b?true:false;
}
template <class T,class O>
class Point
{
public:
Point(T x,O y)
:x_(x),y_(y)
{
}
void object()
{
qDebug()<<"Point("<<x_<<","<<y_<<")";
}
bool operator>(const Point& other)
{
return (this->x_>other.x_ && this->y_>other.y_)?true:false;
}
private:
T x_;
O y_;
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<My_Max<int>(4,6);
Point<float,float> p1(1,3);
Point<float,float> p2(2.3,4.5);
p1.object();
p2.object();
bool ret = p1>p2;
bool ret2 = p2>p1;
qDebug()<<ret<<ret2;
qDebug()<<IsBig(1,4);
return a.exec();
}