数据结构预备知识(模板)
创始人
2024-05-27 18:23:27
0

模板

功能上类比C++的重载函数,可以使用一种通用的形式,去代替诸多数据类型,使得使用同一种函数的时候,可以实现对于不同数据类型的相同操作。增强类和函数的可重用性。

使用模板函数为函数或类声明一个一般的模式,使得函数的参数、返回值或类中的某些成员取得任意类型。

函数模板

函数模板可以用来创建一个通用功能的函数,支持不同形参,以简化重载函数函数体的设计。

声明方法

template

函数声明

实例(求绝对值函数的模板)

#include
using namespace std;
template
T abs(T x)
{return x<0?-x:x;               #问号表达式,假如问号前面的式子成立,则返回冒号前面的数值,反之返回冒号后面的数值
}
int main()
{int n=4;double d=12.2;cout<

补充知识点——问号表达式

    return x<0?-x:x; 

问号表达式,假如问号前面的式子成立,则返回冒号前面的数值(或表达式),反之返回冒号后面的数值(或表达式)

 类模板

类模板使用户可以为类声明一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值,能取任意类型。

声明方法

template <模板参数表>

class 类名

{类成员声明}

注意,在类模板外定义成员函数时,需要在函数定义前加上模板名。

template<模板参数表>

类型名 类名::函数名 (参数表)

使用模板类产生对象时,按照以下形式声明:

模板类名<模板参数表>对象名1,对象名2...;

实例

#include
using namespace std;
template
class compare
{
public:compare(T x,T y){item1=x;item2=y;}T max(){return item1>item2?item1:item2;}
private:T item1,item2;
};
int main()
{
compareintp(3,5);
comparedblp(9.5,5.2);
cout<

相关内容

热门资讯

专家解读 | 2025年社融增... 2025年,我国新增人民币信贷16.27万亿元,社会融资规模增量35.6万亿元、较上年多3.34万亿...
加拿大总理卡尼:对中国电动汽车... 新华社北京1月16日电(记者冯歆然)加拿大将给予中国电动汽车每年4.9万辆的配额,配额内享受6.1%...
德银:日元疲软是政策与资金共同... 德银最新报告指出,日元持续走弱的背后,是“政策默许”与“资本外流”共同作用的结果,短期内外汇干预的可...
ST名家汇(300506)披露... 截至2026年1月16日收盘,ST名家汇(300506)报收于4.16元,较前一交易日下跌0.72%...
衍生品交易迎政策规范,证监会对... 期货衍生品市场迎来政策规范,时隔两年多,证监会再就相关管理办法公开征求意见。 1月16日晚间,证监会...
【专家解读】2026年“两新”... 党的二十届四中全会提出,坚持扩大内需这个战略基点,坚持惠民生和促消费紧密结合,促进消费和投资、供给和...
国际观察丨“斩杀线”折射美国制... 新华社北京1月16日电 题:“斩杀线”折射美国制度弊端下的脆弱民生 新华社记者邓仙来 马倩 丛佳鑫 ...
涉及与供应商的合同纠纷房产被轮... 1月16日,金浦钛业(000545.SZ)公告称,全资子公司徐州钛白因涉及与供应商的合同纠纷,房产被...
乌政府调整宵禁政策 允许部分设... 当地时间16日,乌政府批准在宵禁期间允许购物中心、药店和加油站夜间营业,如果企业能发挥“不间断服务点...
公安部:敦促陈志犯罪集团在逃犯... 公安部今日发布《关于敦促陈志犯罪集团在逃犯罪嫌疑人投案自首的通告》。 近日,重大跨境赌诈犯罪集团头目...