class A
{
public:
template<class T>
void testVector(std::vector<T>& values)
{
for(int i = 0; i < values.size(); i++)
{
std::cout<<values[i]<<std::endl;
}
}
};
template<class T>
class B
{
public:
B(){ std::cout<< "B"<<std::endl;}
B(T a) {std::cout<<"B(int a)"<<std::endl;}
};
template<class T>
class C: public B<T>
{
public:
C(){std::cout<<"C"<<std::endl;}
C(T a, T b){std::cout<<"C(int a, int b)"<<std::endl;}
};
int main()
{
A a;
std::vector<double> dValues;
dValues.push_back(1.1);
dValues.push_back(2.1);
dValues.push_back(3.1);
dValues.push_back(4.1);
dValues.push_back(5.1);
a.testVector(dValues);
std::vector<int> iValues;
iValues.push_back(11);
iValues.push_back(21);
iValues.push_back(31);
iValues.push_back(41);
iValues.push_back(51);
a.testVector(iValues);
B<int> b(1);
C<int> c(1,2);
cout << "Hello World!" << endl;
return 0;
}