#include <iostream>
#include "Cents.h"

int getMax(int x, int y)
{
	return (x>y) ? x : y;
}

int getMax(double x, double y)
{
	return (x>y) ? x : y;
}
// ... 너무 많다! 

template<typename T> // 여러가지 변수명이 반복되는 자리를 T로 바꿈
//template<class T> 와 같이 class를 넣을 수도 있다.
T getMax(T x, T y)
{
    return (x > y) ? x : y;
}



int main()
{	
	
    std::cout << getMax(1, 2) << "\n";
    std::cout << getMax(3.14, 1.592) << "\n";
    std::cout << getMax(1.0f, 3.4f) << "\n";
    
    std::cout << getMax(Cents(5), Cents(9)) << "\n"; // class에 <<가 오버로딩 되있어야함
    												// > operator도 오버로딩 되있어야함.
    
	return 0;
}