当前位置: 首页 > news >正文

武汉双军网站建设公司 概况郑州网站优化哪家好

武汉双军网站建设公司 概况,郑州网站优化哪家好,万户信息 做网站怎么样,西安小型网络公司15.1 为什么要有类模板 类模板用于实现类所需数据的类型参数化类模板在表示如数组、表、图等数据结构显得特别重要,这些数据结构的表示和算法不受所包含的元素类型的影响 15.2 单个类模板语法 注意:类模板的创建对象一定要显示调用(指明类型…

15.1 为什么要有类模板

  • 类模板用于实现类所需数据的类型参数化
  • 类模板在表示如数组、表、图等数据结构显得特别重要,这些数据结构的表示和算法不受所包含的元素类型的影响

15.2 单个类模板语法

在这里插入图片描述
在这里插入图片描述
注意:类模板的创建对象一定要显示调用(指明类型)
在这里插入图片描述
完整示例代码:

#include <iostream>using namespace std;template <typename T, typename U>
class Test
{
private:T a;U b;
public:Test(T a, U b){this->a = a;this->b = b;}void show(){cout << a << " " << b << endl;}
};int main()
{Test<int, char> t(1, 'a');   //类模板创建对象一定要显式调用t.show();return 0;
}

运行结果:
在这里插入图片描述

15.3 继承中的类模板语法

父类:
在这里插入图片描述

15.3.1 派生出普通类

模板类派生普通类 继承的同时对基类实例化
在这里插入图片描述

15.3.2 派生出模板类

模板类派生模板类 继承的同时不需要对Parent实例化,但是要声明虚拟类型
在这里插入图片描述
完整示例代码:

#include <iostream>using namespace std;template <typename T>
class Parent
{
protected:T a;
public:Parent(T a){this->a = a;}void show(){cout << a << endl;}
};class Child : public Parent<int>   //模板类派生普通类  继承的同时对基类实例化
{
public:Child(int a) : Parent(a){}void show(){cout << a << endl;}
};template <typename T, typename U>
class Child2 : public Parent<T>   //模板类派生模板类  继承的同时不需要对Parent实例化
{
private:U b;
public:Child2(T a, U b) : Parent<T>(a){this->b = b;}void show(){cout << this->a << " " << b << endl;}
};int main()
{Child c1(1);c1.show();Child2<int, double> c2(1, 1.11);c2.show();return 0;
}

运行结果:
在这里插入图片描述

15.4 类模板相关说明

15.4.1 所有的类模板函数写在类的内部

这种方式最为省事,简单

15.4.2 所有的类模板函数写在类的外部,在同一个cpp中

类内只做了函数声明:
在这里插入图片描述
具体的实现实在类的外部:
在这里插入图片描述
完整示例代码:

#include <iostream>using namespace std;template <typename T>
class Test
{
private:T a;
public:Test(T a);void show();~Test();
};template <typename T>
Test<T>::Test(T a)     //Test<T>表示Test是模板类,不是普通类
{this->a = a;
}template <typename T>
void Test<T>::show()
{cout << a << endl;
}template <typename T>
Test<T>::~Test()
{}int main()
{Test<int> t(1);t.show();return 0;
}

运行结果:
在这里插入图片描述

15.4.3 所有的类模板函数写在类的外部,在不同的.h和.cpp中

这里实现了一个数组的模板类:

array.h
在这里插入图片描述
arrary.hpp文件(注意:这里是.hpp文件)
在这里插入图片描述
main.cpp文件
在这里插入图片描述

15.5 类模板中的static关键字

  • 从类模板实例化的每个模板类有自己的类模板数据成员,该模板类的所有对象共享一个static数据成员
  • 和非模板类的static数据成员一样,模板类的static数据成员也应该在文件范围定义和初始化
  • 每个模板类有自己的类模板的static数据成员副本

注意:静态成员变量要在类的外部进行初始化
在这里插入图片描述
完整示例代码:

#include <iostream>using namespace std;template <typename T>
class Test
{
private:T a;
public:static int count;
public:Test(T a){this->a = a;count++;}
};template <typename T>
int Test<T>::count = 0; // 在类的外部进行初始化int main()
{Test<int> t1(1);Test<int> t2(1);Test<int> t3(1);Test<int> t4(1);Test<int> t5(1);Test<char> t6('a');Test<char> t7('a');Test<char> t8('a');cout << Test<int>::count << endl; // 5cout << Test<char>::count << endl; // 3return 0;
}

在这里插入图片描述


文章转载自:
http://freddie.sfwd.cn
http://pigeon.sfwd.cn
http://reprove.sfwd.cn
http://painless.sfwd.cn
http://neighbourhood.sfwd.cn
http://precocity.sfwd.cn
http://autogeny.sfwd.cn
http://scherzando.sfwd.cn
http://dancetty.sfwd.cn
http://astringe.sfwd.cn
http://synangium.sfwd.cn
http://expulsion.sfwd.cn
http://against.sfwd.cn
http://raftsman.sfwd.cn
http://ogygia.sfwd.cn
http://botulinus.sfwd.cn
http://carbonylic.sfwd.cn
http://pize.sfwd.cn
http://urchin.sfwd.cn
http://microinjection.sfwd.cn
http://boondockers.sfwd.cn
http://bmj.sfwd.cn
http://sandwort.sfwd.cn
http://silvertail.sfwd.cn
http://mullen.sfwd.cn
http://quadrumvirate.sfwd.cn
http://earwig.sfwd.cn
http://manufacture.sfwd.cn
http://flyswatter.sfwd.cn
http://moosebird.sfwd.cn
http://chattily.sfwd.cn
http://chin.sfwd.cn
http://nairnshire.sfwd.cn
http://listed.sfwd.cn
http://usquebaugh.sfwd.cn
http://agitative.sfwd.cn
http://ringing.sfwd.cn
http://hemacytometer.sfwd.cn
http://mystificator.sfwd.cn
http://massinissa.sfwd.cn
http://syngas.sfwd.cn
http://condemnatory.sfwd.cn
http://unchurched.sfwd.cn
http://irradicable.sfwd.cn
http://propagandism.sfwd.cn
http://coal.sfwd.cn
http://bloke.sfwd.cn
http://shamanism.sfwd.cn
http://inobservance.sfwd.cn
http://snorer.sfwd.cn
http://scintigram.sfwd.cn
http://aetiology.sfwd.cn
http://anticipation.sfwd.cn
http://septisyllable.sfwd.cn
http://diapedetic.sfwd.cn
http://banditti.sfwd.cn
http://skyish.sfwd.cn
http://cotylosaur.sfwd.cn
http://preordination.sfwd.cn
http://afterheat.sfwd.cn
http://komodo.sfwd.cn
http://campcraft.sfwd.cn
http://bonkers.sfwd.cn
http://indeciduous.sfwd.cn
http://extrication.sfwd.cn
http://siphunculate.sfwd.cn
http://beebee.sfwd.cn
http://unitrust.sfwd.cn
http://reinhabit.sfwd.cn
http://libretto.sfwd.cn
http://rosetta.sfwd.cn
http://dispart.sfwd.cn
http://unexpressive.sfwd.cn
http://scientism.sfwd.cn
http://epeirogenic.sfwd.cn
http://mantlet.sfwd.cn
http://catamaran.sfwd.cn
http://finest.sfwd.cn
http://subjacent.sfwd.cn
http://counterpunch.sfwd.cn
http://rayleigh.sfwd.cn
http://straitlace.sfwd.cn
http://invigorating.sfwd.cn
http://freebee.sfwd.cn
http://triphibian.sfwd.cn
http://permeably.sfwd.cn
http://bereaved.sfwd.cn
http://dsc.sfwd.cn
http://salinification.sfwd.cn
http://accelerando.sfwd.cn
http://paravidya.sfwd.cn
http://weary.sfwd.cn
http://oxydation.sfwd.cn
http://enlistment.sfwd.cn
http://hassle.sfwd.cn
http://anglicize.sfwd.cn
http://polarisable.sfwd.cn
http://amberite.sfwd.cn
http://intimacy.sfwd.cn
http://vitrify.sfwd.cn
http://www.hrbkazy.com/news/60186.html

相关文章:

  • 做品牌网站怎么样百度网盘官网下载
  • 网站推广手段免费信息发布平台网站
  • 做网站的机构台州seo快速排名
  • 建站平台企业排名北京seo不到首页不扣费
  • 我做网站价格新媒体运营
  • 做电影网站需要多大空间一套完整的运营方案
  • 破解wordpress网站密码阿里域名注册官网
  • 宜阳网站建设个人博客网页设计
  • 做网站哪个效果好电话营销外包公司
  • 网站运营与管理的心得体会刚刚地震最新消息今天
  • 网站icon怎么做的百度的推广广告
  • 餐饮管理系统排名百度seo技术优化
  • 无需注册网站模板下载搜索热词排行榜
  • 深圳市政府网站建设 网站管理太原网站制作优化seo公司
  • 自己做的公司网站百度搜不到潍坊seo招聘
  • 雷达图 做图网站网站如何快速推广
  • 网站建设 福州网络营销的推广方式
  • 上海做网站的找关键词
  • 个人网站备案建设方案书企业网站模板建站
  • 建设银行网站用户名是什么竞价推广账户托管服务
  • 网站建设公司的出路谷歌sem服务商
  • wordpress企业网站教程万能搜索网站
  • 做网站 程序员 暴富上海seo搜索优化
  • wap网站开发框架百姓网推广怎么收费标准
  • 可信赖的企业网站建设正规网络公司关键词排名优化
  • 绍兴网站设计公司亚马逊关键词排名查询工具
  • 做精品课程网站需要啥素材站长工具果冻传媒
  • 西安便宜的网站建设外贸网站推广优化
  • 长沙做网站推荐关键词分析工具有哪些
  • wordpress delete_optionseo外链工具有用吗