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

在百度怎么建立自己的网站吗达州建设网站

在百度怎么建立自己的网站吗,达州建设网站,横沥东莞网站建设,深圳建筑业网站建设C —— 模板类扩展 模板类的成员模板将模板类用作参数 模板类的成员模板 结构体中可以有结构体#xff0c;类中可以有类和成员函数。那么#xff0c;模板类中也应该可以有模板类和模板函数。 在类AA中再创建一个模板类和模板函数。 先创建模板类#xff0c;代码如下#x… C —— 模板类扩展 模板类的成员模板将模板类用作参数 模板类的成员模板 结构体中可以有结构体类中可以有类和成员函数。那么模板类中也应该可以有模板类和模板函数。 在类AA中再创建一个模板类和模板函数。 先创建模板类代码如下 #include iostream using namespace std;template class T1, class T2 class AA { public: T1 m_x;T2 m_y;AA(const T1 x, const T2 y): m_x(x), m_y(y) {}void show() {cout AA的show ~ m_x m_x , m_y m_y endl;}template class Tclass BB{public:T m_b;// 可以用AA的模板参数T1、T2创建成员变量T1 m_bx;BB() {}void show() {cout BB的show ~ m_b m_b , m_bx m_bx endl;}};BBstring bb; // 对象bb就是类模板AA的成员template typename T // 再创建一个函数模板这个T和BB中的T没有关系void show(T t) {cout 模板函数show ~ t t endl;cout AA ~ m_x m_x , m_y m_y endl;bb.show();} };int main() {AAint, string aa(123, 你好);aa.show();aa.bb.m_b 哈哈;aa.bb.m_bx 666;aa.bb.show();aa.showstring (嘻嘻嘻);return 0; }运行结果如下 AA的show ~ m_x 123, m_y 你好 BB的show ~ m_b 哈哈, m_bx 666 模板函数show ~ t 嘻嘻嘻 AA ~ m_x 123, m_y 你好 BB的show ~ m_b 哈哈, m_bx 666 模板类中的成员模板定义可以写在类的外面。修改后的代码如下 #include iostream using namespace std;template class T1, class T2 class AA { public: T1 m_x;T2 m_y;AA(const T1 x, const T2 y): m_x(x), m_y(y) {}void show() {cout AA的show ~ m_x m_x , m_y m_y endl;}template class Tclass BB{public:T m_b;// 可以用AA的模板参数T1、T2创建成员变量T1 m_bx;BB() {}void show();};BBstring bb; // 对象bb就是类模板AA的成员template typename T // 再创建一个函数模板这个T和BB中的T没有关系void show(T t); };// 模板类中的成员模板定义可以写在类的外面。 template class T1, class T2 template class T void AAT1, T2::BBT::show() {{cout BB的show ~ m_b m_b , m_bx m_bx endl;} }template class T1, class T2 template typename T void AAT1, T2::show(T t) {cout 模板函数show ~ t t endl;cout AA ~ m_x m_x , m_y m_y endl;bb.show(); }int main() {AAint, string aa(123, 你好);aa.show();aa.bb.m_b 哈哈;aa.bb.m_bx 666;aa.bb.show();aa.showstring (嘻嘻嘻);return 0; }运行结果跟之前保持一致 AA的show ~ m_x 123, m_y 你好 BB的show ~ m_b 哈哈, m_bx 666 模板函数show ~ t 嘻嘻嘻 AA ~ m_x 123, m_y 你好 BB的show ~ m_b 哈哈, m_bx 666 将模板类用作参数 C的类模板主要是为了解决数据结构的问题。线性表有链表、数组、栈、和队列。以链表和数组为例为了支持任意类型数据最好的方法就是用类模板来实现代码如下 #include iostream using namespace std;template class T, int len // 实际上链表没有长度的说法但为了演示假定有一个长度 class LinkList { public:T* m_head; // 定义链表头节点指针int m_len len; // 指定表长度// 链表常用操作void insert() {cout LinkList 插入操作 endl;}void ddelete() {cout LinkList 删除操作 endl;}void update() {cout LinkList 更新操作 endl;} };template class T, int len class Array{ public:T* m_data;int m_len len;void insert() {cout Array 插入操作 endl;}void ddelete() {cout Array 删除操作 endl;}void update() {cout Array 更新操作 endl;} };int main() {return 0; }模板的目的就是代码重用既然链表和数组的逻辑结构是一样的那就把它们改成模板类的形式。目前模板LinkList和Array是为了兼容各种各样的数据类型解决的是物理结构问题。接下来把它们再次模板化是从逻辑角度来考虑的。C支持模板的模板意思是把模板名当成一种特殊的数据类型。实例化对象的时候可以用模板签名作为参数传给模板。示例代码如下 #include iostream using namespace std;template class T, int len // 实际上链表没有长度的说法但为了演示假定有一个长度 class LinkList { public:T* m_head; // 定义链表头节点指针int m_len len; // 指定表长度// 链表常用操作void insert() {cout LinkList 插入操作 endl;}void ddelete() {cout LinkList 删除操作 endl;}void update() {cout LinkList 更新操作 endl;} };template class T, int len class Array{ public:T* m_data;int m_len len;void insert() {cout Array 插入操作 endl;}void ddelete() {cout Array 删除操作 endl;}void update() {cout Array 更新操作 endl;} };// 线性表模板类其中tabletype 表示 线性表类型datatype 表示 线性表数据类型len 表示 长度 // tabletype 不是一个普通的参数而是模板意思是这个参数要填模板名。 // 填什么样的模板名呢填有两个参数的类模板名。并且要求类模板的第一个参数是通用类型第二个是非通用类型。 // 此外class可以用typename代替只是class更直观。 // tabletype只是一个模板名用T1创建对象时还需要指定具体的数据类型。 // 常见的做法是具体的数据类型用模板参数从外面传进来 templatetemplateclass, intclass tabletype, class datatype, int len // 模板参数列表 class LinearList{ public:tabletypedatatype, len m_table; // 创建线性表对象void insert() {m_table.insert();}void ddelete() {m_table.ddelete();}void update() {m_table.update();} };int main() {// 创建线性表对象容器类型为链表链表的数据类型为int链表长度为20LinearListLinkList, int, 20 a;a.insert();a.ddelete();a.update();LinearListArray, string, 20 b;b.insert();b.ddelete();b.update();return 0; }运行结果如下 LinkList 插入操作 LinkList 删除操作 LinkList 更新操作 Array 插入操作 Array 删除操作 Array 更新操作 感谢浏览一起学习
http://www.pierceye.com/news/206866/

相关文章:

  • 网站建设怎么用长尾做标题北京手机站建站
  • 什么是网站功能需求wap网页文字游戏
  • 网站开发者模式怎么保存网站建设3d插件
  • 域名备案网站要不要关景县有专业做网站人员吗
  • 门户网站建设方案ppt公司网站建设全包
  • 网站建站的流程网站建设服务那家好
  • 湖南平台网站建设制作企业网站关联优化
  • 优秀网站设计作品大连seo外包
  • 共享空间网站开发公司做网站 最好的开源cms
  • 免费图片素材网seo wordpress主题
  • ipad可以做网站推广吗wordpress主题中文
  • 自己做网站要会什么软件下载wordpress 小工具代码
  • 视频拍摄及制作培训网站优化有什么用
  • 沈阳网站排名公司网站开发专业怎么样
  • 电影院网站建设方案网络维护是什么职业
  • 网站建设需要的公司wordpress考试主题
  • 企业网站管理系统多站多语言版电子书推送网站怎么做
  • 海洋公司做网站推广安阳网站如何做优化
  • 南昌网站开发公司哪家公司好网站建设接单
  • 宁波网站制作哪家强调用wordpress的文章编辑器
  • 在线制作手机网站公司网站建设厂家
  • 在线分析网站一个小外贸公司怎么开
  • 给自己的公司做网站怎么做好电脑手机一体网站
  • 精通网站建设 全能建站密码pdf电商网站设计理念
  • 百度推广建设网站是不是合发手机网站的必要性
  • 企业网站建设是什么实现的物质基础和技术支撑现货交易平台代理
  • 网站建设的描述长沙发布app
  • 好的设计作品网站代理网站建设
  • 做网站的软件m开头网站建设公司问候语
  • 做网站需要工商证吗app软件开发价格