#include<iostream>
template<class T, class U>
class Box {
public:
Box(T h, U w) : _h(h), _w(w){}
void showBox(){
std::cout << "Called completely specialization\n";
}
private:
T _h;
U _w;
};
template<class T>
class Box<T, int> {
public:
Box(T h, int w) : _h(h), _w(w){}
void showBox(){
std::cout << "Called partial specialization\n";
}
private:
T _h;
int _w;
};
int main(){
Box box1(13, 55);
Box box2(13, 20.1);
box1.showBox();
box2.showBox();
return 0;
}