您好,登录后才能下订单哦!
这篇“C++中类模板如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++中类模板如何使用”文章吧。
C++类模板是一种用于创建通用类的工具,它允许我们定义一个通用类,支持多种类型。
定义类模板
C++中定义类模板的语法如下:
template<class T>
class ClassName {
public:
ClassName(T arg1, T arg2, ...){
// constructor code
}
T getMax();
T getMin();
// ...
private:
T arg1, arg2, ...;
};其中,template<class T>表明T是一个类型参数,T是我们要定义的通用类型,一旦T被定义,我们就可以使用它来定义类的成员。
接下来,我们可以使用类模板来创建具有通用功能的类的对象。例如,考虑下面的示例:
#include<iostream>
using namespace std;
template<class T>
class Example {
public:
Example(T a, T b) {
this->a = a;
this->b = b;
}
void show() {
cout<< "a: "<< a <<endl;
cout<< "b: "<< b <<endl;
}
private:
T a;
T b;
};
int main() {
Example<int> example_int(5, 6);
example_int.show();
Example<string> example_string("hello", "world");
example_string.show();
return 0;
}上面的代码中,我们定义了一个类模板Example,并在其中定义了两个类型相同的数据成员a和b。我们可以使用类模板Example创建支持整数类型和字符串类型的对象example_int和example_string。执行程序输出如下:
a: 5
b: 6
a: hello
b: world
类模板成员函数的定义
C++类模板可以定义成员函数,成员函数可以是访问控制的任何类型:public、protected和private。
定义成员函数的形式与普通类相同:
template<class T>
class Example {
public:
Example(T a, T b) {
this->a = a;
this->b = b;
}
void show() {
cout<< "a: "<< a <<endl;
cout<< "b: "<< b <<endl;
}
T max() {
return a > b ? a : b;
}
private:
T a;
T b;
};
int main() {
Example<int> example_int(5, 6);
example_int.show();
Example<string> example_string("hello", "world");
example_string.show();
cout << example_int.max() << endl;
cout << example_string.max() << endl;
return 0;
}在上面的示例中,我们新增了成员函数T max(),它返回两个数据成员a和b中的较大值。
输出的结果如下:
a: 5
b: 6
a: hello
b: world
6
world
注意我们调用成员函数max的时候可以使用不同类型的实例。
以上就是关于“C++中类模板如何使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。