- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章主要内容 类模板 String类 群体类 群体数据的组织 9.1 类模板 类模板用于设计一个通用类,使这个类的数据成员的类型、成员函数的参数能够按照需要进行改变(即参数化) 声明类模板的一般形式为: template class Ttype class class_name { } 其中,Ttype是一个标识符,代表所声明的类模板中参数化的类型名。注意:模板类的成员函数必须是函数模板。 定义了类模板以后,就可以创建这个类的实例: Class_name type 对象1,…,对象n; type用具体的数据类型代入,系统根据代入的数据类型生成所需的类,并创建该类的对象。 //EX9_1.cpp : 演示类模板的定义和使用 #include iostream.h #include stdlib.h struct student //声明一个结构体类型 { int id ; int score ; } ; templateclass T //声明一个类模板 class buffer { private: T a ; int empty ; public: buffer( void ) ; //声明buffer类的构造函数 T get( void ) ; void put( T x) ; }; templateclass T //定义buffer类的构造函数模板 bufferT::buffer( void ):empty(0) { } templateclass T //定义成员函数get模板 T bufferT::get(void) { if (empty==0) { coutthe buffer is empty!endl; exit(1); } return a; } templateclass T //定义成员函数put模板 void bufferT::put(T x) { empty++; a = x; } void main(void) { student s = { 1022, 78 } ; bufferint i1, i2 ; //声明整型对象i1, i2 bufferstudent stu1 ; //声明结构体对象stu1 bufferdouble d ; //声明双精度对象d i1.put(13) ; //对象i1调用put执行了empty++ i2.put(-101) ; //对象i2调用put执行了empty++ couti1.get( ) i2.get( ) endl ; stu1.put( s ) ; //对象stu1调用put执行了empty++ coutthe students id is stu1.get( ).idendl ; coutthe students score is stu1.get( ).scoreendl ; coutd.get( )endl ; //对象d没有调用put去执行empty++ } //,可能直接exit而不执行return a 程序运行结果为: 13 -101 the student’s id is 1022 the student’s score is 78 the buffer is empty! string类 1. string类对象的定义与初始化 形式1:string 对象名[(字符串)] //[ ]表示可选项 或 string 对象名[=字符串] //[ ]表示可选项 形式2:(生成由n个“字符”组成的字符串) string 对象名(n,‘字符’) 2. string类对象的操作 通过string类对象的成员函数调用与重载运算符(、、+等) 对字符串进行赋值、连接、复制、查找、交换等。 基本形式为 对象名 . 成员函数 //EX9_2.cpp : 演示string类的应用 #include iostream.h #include string using namespace std ; void main( ) { string s1(Hello), s2, s3, s4 ; //定义string对象 s2 = s1 ; //
您可能关注的文档
- 第08章 Transact-SQL语言编程.ppt
- 第08章 彩色图像处理4讲.ppt
- 第08章 非流动性负债.ppt
- 第08章 全球货物运输管理.ppt
- 第08章无机化学.ppt
- 第8讲 电磁场基本规律4.ppt
- 第8讲 计算方法的MATLAB实现.ppt
- 第8讲 相关与回归分析.ppt
- 第8讲_一元二次方程及应用.ppt
- 第8讲第8章 过程.ppt
- 师缘主题课件最新完整版本.pptx
- 基于偏好MOEA_D算法的气发动机多目标优化标定研究.pdf
- 师范技能课件比赛一等奖最新完整版本.pptx
- 师范生初中美术说课课件最新完整版本.pptx
- 师范技能课件图片素材库最新完整版本.pptx
- Unit 2 Making a Difference Understanding ideas The Well that changed the world 教学设计-高中英语外研版(2019)必修第三册.docx
- 师范生技能大赛PPT课件语文最新完整版本.pptx
- 基于扭矩的双燃料发动机控制策略研究.pdf
- 1.2.1 等差数列的概念及其通项公式(教学设计)高二数学(北师大版2019选择性必修第二册).docx
- 师范文化课件最新完整版本.pptx
文档评论(0)