首页 > 代码库 > C++ 函数模板 和 类模板的使用
C++ 函数模板 和 类模板的使用
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;}
{
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;
}
C++ 函数模板 和 类模板的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。