当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 学习笔记 > c++模板类概念与实例

c++模板类概念与实例 时间:2018-07-30      来源:未知

模板:模板是对一种对类型进行参数化的工具。

模板的声明或者定义只能在全局,命名空间或者类范围内进行。即不能在局部范围,函数内进行。

函数模板 参数类型不一样的但是功能及函数名一样的函数

函数模板的声明定义语法上差异不大,就像普通函数一样使用

template

T add(T x, T y);

template

C add(C x, C y)

{

return x+y;

}

类模板 成员属性的类型和成员函数的类不一样但是成员属性及函数一样的类

template

class Demo{

public:

Demo(T1 a, T2 b);

void setx(T1 a);

static void sety(Demo &, T2 val);

T1 getx() const;

T2 gety() const;

private:

static T1 x;

T2 y;

};

友元函数模板

如果一个类是模板类,又要实现运算符重载,就是一个友元函数模板;

实质是类模板和函数模板的综合运用

template

class Demo{

public:

Demo(const int val);

public:

T getval() const;

void setval(const int val);

template

friend Demo operator+(const Demo &, const Demo &);

private:

T ival;

};

非类型模板参数

template

class Array{

public:

Array();

Array(const Array &);

~Array();

public:

T& at(const int id=0) const;

T& operator[](const int id)const;

private:

T* const buffer;

};

T:模板类型参数;len:模板非类型参数;T、len都可以有默认值

上一篇:c++运算符重载学习总结

下一篇:c语言数组基础知识,这些你要掌握好

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部