四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第五

上传人:仙*** 文档编号:65100463 上传时间:2022-03-23 格式:PPT 页数:41 大小:297.02KB
收藏 版权申诉 举报 下载
四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第五_第1页
第1页 / 共41页
四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第五_第2页
第2页 / 共41页
四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第五_第3页
第3页 / 共41页
资源描述:

《四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第五》由会员分享,可在线阅读,更多相关《四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第五(41页珍藏版)》请在装配图网上搜索。

1、 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 1主讲教师: 游洪跃个人主页:http:/ 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 2教材:教材:C+面向对象程序设计面向对象程序设计李涛李涛 主编主编游洪跃游洪跃 陈良银陈良银 李琳等编李琳等编高等教育出版社高等教育出版社20062006年年2 2月出版月出版 高级语言程序设计II

2、四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 3本书本书内容内容 第第1 1章章 绪论绪论第第2 2章章 C+C+类和对象类和对象第第3 3章章 继承继承第第4 4章章 多态性多态性第第5 5章章 模板模板第第6 6章章 C+C+常见问题常见问题第第7 7章章 Visual C+Visual C+编程基础编程基础第第8 8章章 对话框、常用消息、菜单和工具条对话框、常用消息、菜单和工具条第第9 9章章 单文档界面和多文档界面单文档界面和多文档界面第第1010章章 图形设备接口图形设备接口

3、实验实验 (待安排)(待安排) 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 4提纲类模板及模板类类模板及模板类第五章第五章 模板模板ARM Vector TableFIQIRQ(Reserved)Data AbortPrefetch AbortSoftware InterruptUndefined InstructionReset0 x1C0 x180 x140 x100 x0C0 x080 x040 x00函数模板及模板函数函数模板及模板函数模板的基本概念模板的

4、基本概念模板设计及应该实例模板设计及应该实例 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 55.1 模板的基本概念模板的基本概念 模板是模板是C+支持多态性的一种工具。支持多态性的一种工具。 模板将用模板将用“类型参数类型参数”来完成不同的功能。来完成不同的功能。 使用模板可以让用户使用模板可以让用户得到类或函数声明的一种得到类或函数声明的一种通用模式。通用模式。 使得类中的某些数据成员或者成员函数的参数、使得类中的某些数据成员或者成员函数的参数、返回值取得不同的

5、类型。返回值取得不同的类型。 让类型成为参数让类型成为参数 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 6 5.1.1 模板的概念模板的概念 所谓模板,其实就是一种所谓模板,其实就是一种使用使用“数据类型数据类型”作作为参数为参数来产生一系列函数或类的来产生一系列函数或类的机制机制。 模板方便了更大规模的软件开发。模板方便了更大规模的软件开发。 减少了程序员编写代码的工作量。减少了程序员编写代码的工作量。程序通用性增强程序通用性增强 高级语言程序设计II 四川大学

6、精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 75.1.2 为何需要使用模板为何需要使用模板/求两个求两个整型数整型数的极大值的极大值int GetMax( int a, int b ) return( a b ) ? a : b;/求两个求两个长整型数长整型数的极大值的极大值long GetMax( long a, long b ) return( a b ) ? a : b; 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四

7、川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 8 /求两个求两个双精度型数双精度型数的极大值的极大值 double GetMax( double a, double b ) return( a b ) ? a : b; /求两个求两个字符型数字符型数的极大值的极大值 char GettMax( char a, char b ) return( a b ) ? a : b; 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 9 是否可以将上述四个函数合成为一

8、个函数啦?是否可以将上述四个函数合成为一个函数啦? /Type用前述的用前述的int、long、double、char替换替换可得到上述四个函数。可得到上述四个函数。 Type GetMax( Type a, Type b ) return( a b ) ? a, b; 难道可以生产函数?难道可以生产函数? 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 10 这实际上这实际上就是一种抽象就是一种抽象。 可以将可以将数据类型数据类型说明为参数,以适用于说明为参数,以适

9、用于其他数其他数据类型据类型,这就是模板。,这就是模板。 通过模板可以产生类或函数通过模板可以产生类或函数的集合,它们有能的集合,它们有能力操作不同的数据类型。力操作不同的数据类型。 因而也就不必要为每一种数据类型因而也就不必要为每一种数据类型设计设计一个单一个单独的类或函数。独的类或函数。 说明了结构相似的类说明了结构相似的类和函数。和函数。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 11 模板分为模板分为类模板类模板(class template)和)和函数

10、模板函数模板(function template)两种。)两种。 在说明了一个函数模板后,当编译系统发现有在说明了一个函数模板后,当编译系统发现有一个对应的函数调用时,将一个对应的函数调用时,将根据实参中的数据根据实参中的数据类型类型来确认是否匹配函数模板中对应的形参,来确认是否匹配函数模板中对应的形参,然后生成一个然后生成一个重载函数重载函数。模板函数模板函数 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 12 该重载函数的定义体与函数模板的函数定义体该重载函数的

11、定义体与函数模板的函数定义体相同,但数据类型参数具体化了,称为相同,但数据类型参数具体化了,称为模板函模板函数数(template function)。)。 同样,在说明了一个类模板之后,可以创建类同样,在说明了一个类模板之后,可以创建类模板的实例,称为模板的实例,称为模板类模板类。 实际上,实际上,将数据类型作为参数就得到了模板将数据类型作为参数就得到了模板。将参数实例化就得到了模板类或者模板函数。将参数实例化就得到了模板类或者模板函数。模板类模板类 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:

12、四川大学计算机学院 游洪跃游洪跃 135.2 函数模板及模板函数函数模板及模板函数 函数模板是对一批函数模板是对一批模样相同的函数的说明描述模样相同的函数的说明描述,它不是某一个具体的函数。它不是某一个具体的函数。 而模板函数则是将函数模板内的而模板函数则是将函数模板内的“数据类型参数据类型参数数”具体化后得到的具体化后得到的重载函数重载函数(就是由模板而(就是由模板而来的函数)。来的函数)。 从哲学的抽象和具体的角度来说:从哲学的抽象和具体的角度来说:函数模板是函数模板是抽象的,而模板函数则是具体的。抽象的,而模板函数则是具体的。“人人”和和“本本.拉登拉登”的区别的区别 高级语言程序设计I

13、I 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 14 C语言中,使用不同语言中,使用不同函数名函数名来表达相似功能;来表达相似功能;而而C+中则用中则用函数重载函数重载来表达。来表达。 而使用而使用函数模板函数模板,则只需要一段公共的模板描,则只需要一段公共的模板描述代码即可。述代码即可。 函数模板减少了程序员输入代码的工作量,是函数模板减少了程序员输入代码的工作量,是C+中中功能最强的特性之一功能最强的特性之一,是,是提高软件代码提高软件代码重用率重用率的重要手段之一。的重要手段之一

14、。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 15 5.2.1 函数模板的定义及生成模板函数函数模板的定义及生成模板函数 函数模板大大增强了函数设计的函数模板大大增强了函数设计的通用性通用性。 使用函数模板的方法是;使用函数模板的方法是; 1、先说明、先说明函数模板,函数模板, 2、然后实例化成相应的模板函数、然后实例化成相应的模板函数, 3、最后才可以、最后才可以调用调用模板函数,并执行。模板函数,并执行。 高级语言程序设计II 四川大学精品课程 C+:面向对

15、象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 16 函数模板的函数模板的说明形式说明形式一般如下:一般如下: template (模板模板函数形参表函数形参表) /函数定义体函数定义体 注意类型形参和注意类型形参和函数形参的位置函数形参的位置 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 17 其中,其中,的类型可以是的类型可以是任何类任何类型型:包含基本数据类型,和类类型。:包含基本数据

16、类型,和类类型。每一个类型参数前都需每一个类型参数前都需要加前缀要加前缀class。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 18 函数模板是一组函数的描述,函数模板是一组函数的描述,不能直接执行不能直接执行,它需要实例化为模板函数后才能执行。它需要实例化为模板函数后才能执行。 函数模板并函数模板并不是不是一个实实在在的函数。一个实实在在的函数。 编译系统编译系统不会为它产生任何执行代码不会为它产生任何执行代码。 该定义该定义只是对某类函数的描述只是对某类函数

17、的描述。 一旦一旦数据类型形参实例化数据类型形参实例化以后,就产生一个实以后,就产生一个实实在在的模板函数。实在在的模板函数。 实例化?实例化? 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 19 例例5-1:编写一个对具有:编写一个对具有n个元素的数组个元素的数组a 求求最大值的程序,要求将求最大值的函数设计成最大值的程序,要求将求最大值的函数设计成函数模板以适应不同的数组元素类型。函数模板以适应不同的数组元素类型。 smain5_1.cpp 使用函数模板使用函数

18、模板1,数组,数组a的最大值,的最大值,maxValue 10使用函数模板使用函数模板1,数组,数组b的最大值,的最大值,maxValue 9.9使用函数模板使用函数模板1,数组,数组c的最大值,的最大值,maxValue c 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 20 注意事项:注意事项: 函数模板的说明和定义必须在全局作用域。函数模板的说明和定义必须在全局作用域。 函数模板不能说明为类的成员函数。函数模板不能说明为类的成员函数。 另外,模板类型参数另外,

19、模板类型参数不具有隐式类型转换的作不具有隐式类型转换的作用用。隐式类型转换?隐式类型转换? 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 21 5.2.2 重载函数模板重载函数模板 模板函数也模板函数也可以重载可以重载。匹配过程有以下规定:。匹配过程有以下规定: 1、首先匹配类型完全相同的重载函数。、首先匹配类型完全相同的重载函数。 2、其次,才寻求函数模板来匹配。、其次,才寻求函数模板来匹配。 例例5-2:具有函数模板和同名重载函数的匹配过具有函数模板和同名重载函

20、数的匹配过程程 smain5_2.cpp 先重载函数,然后函数模板先重载函数,然后函数模板 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 22 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 23使用函数模板使用函数模板1,数组,数组a的最大值,的最大值,maxValue 10使用函数模板使用函数模板1,数组,数组b的最大值,的最大值,ma

21、xValue 9.9使用函数模板使用函数模板1,数组,数组c的最大值,的最大值,maxValue c调用调用int,maxValue 20调用调用long,maxValue 201调用调用double,maxValue 2调用函数模板调用函数模板2,maxValue char=A调用函数模板调用函数模板2,maxValue 10调用函数模板调用函数模板2,maxValue 11.1调用函数模板调用函数模板2,maxValue 22调用函数模板调用函数模板2,maxValue A调用函数模板调用函数模板2,maxValue 200调用函数模板调用函数模板2,maxValue 100 高级语言程序

22、设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 24 从运行结果可知:从运行结果可知:GetMax( 10, 20 )调用直接调调用直接调用用int GetMax( int a, int b )。 注释掉注释掉char GetMax( char a, char b )以前,以前,GetMax( A, 2 )调用该重载函数;调用该重载函数; 注释掉注释掉char GetMax( char a, char b )以后,以后, GetMax( A, 2 )调用了模板函数调用了模板函数2

23、, 说明在匹配模板函数时,说明在匹配模板函数时,系统不会进行隐式类系统不会进行隐式类型转换以匹配重载函数型转换以匹配重载函数,否则它就应该调用,否则它就应该调用int GetMax( int a, int b )。 GetMax( 10, 5.0 )调用函数模板调用函数模板2。在重载函数。在重载函数中没有匹配版本,在函数模板中匹配,调用函中没有匹配版本,在函数模板中匹配,调用函数模板数模板2。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 25 在例在例5_3中,将

24、例中,将例5_2中函数模板中函数模板2:“TypeX GetMax( TypeX tX, TypeY tY )”的抽象性降低,的抽象性降低,观察一下重载函数和函数模板的匹配。观察一下重载函数和函数模板的匹配。 smain5_3.cpp 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 26 调用调用double,maxValue 65 调用调用double,maxValue 20 调用调用double,maxValue 200 调用调用double,maxValue 2

25、0.01 调用调用double,maxValue 20.02 调用调用double,maxValue 65 调用调用double,maxValue 100.03 调用调用double,maxValue 20 调用调用double,maxValue 20.04 调用调用double,maxValue 20.05 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 27 在例在例5_3中,注释掉函数模板中,注释掉函数模板2。 从运行结果可知,程序调用了所有类型不匹配从运行结果

26、可知,程序调用了所有类型不匹配的相关函数,这是的相关函数,这是隐式类型转换隐式类型转换的结果。的结果。 但是,当将函数模板但是,当将函数模板2放出来以后,凡是两个放出来以后,凡是两个类型不一致的函数调用类型不一致的函数调用都不能够编译通过都不能够编译通过。 这说明模板参数这说明模板参数不具有隐式转换能力。不具有隐式转换能力。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 285.3 类模板及模板类类模板及模板类 有时候,我们会遇到一些有时候,我们会遇到一些代码相似的

27、类代码相似的类。 ch5_4sclass5_4_T.h ch5_4sclass5_4_T.cpp ch5_4smain5_4.cpp CInteger类和类和CReal类的声明及其成员函数的类的声明及其成员函数的实现实现代码非常相似代码非常相似,这种相似性,这种相似性提供了进一步提供了进一步抽象的可能抽象的可能。 可以定义一种用来生成可以定义一种用来生成CInteger类和类和CReal类类的的类模板类模板,然后用这个抽象的类模板来生成具,然后用这个抽象的类模板来生成具体的体的CInteger类和类和CReal类。类。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛

28、 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 29 类模板与函数模板类似,将数据类型定义为参类模板与函数模板类似,将数据类型定义为参数。数。 具体化为模板类后具体化为模板类后,可以用于生成具体对象。,可以用于生成具体对象。类模板类模板 模板类模板类 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 305.3.1 类模板的定义及生成模板类类模板的定义及生成模板类 template class /类说明体类说明体 ;

29、 template :(形参(形参表)表) /成员函数成员函数1定义体定义体 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 31 它不是一个实实在在的类,只是类的描述,称它不是一个实实在在的类,只是类的描述,称为为类模板类模板(class template)。)。 类模板必须用类型参数将其类模板必须用类型参数将其实例化为模板类实例化为模板类后,后,才能用来生成具体对象。才能用来生成具体对象。 在形参表中定义的每个类型,也都必须要使用在形参表中定义的每个类型,也都必须

30、要使用关键词关键词class。 如果类型形参多于一个,则每个形参前如果类型形参多于一个,则每个形参前都要使都要使用关键词用关键词class。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 32 template class TClass / ; 类模板类模板TClass的的第三个参数是表达式第三个参数是表达式,而第一,而第一和第二个参数是类型参数。和第二个参数是类型参数。 混用。混用。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教

31、出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 33 使用类模板可以说明和定义任何类型的类。使用类模板可以说明和定义任何类型的类。 这种类被称为参数化的类。这种类被称为参数化的类。 类是对象的抽象,那么类是对象的抽象,那么类模板则是类的抽象类模板则是类的抽象。 对类的抽象对类的抽象 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 34 例例5_5:采用类模板。采用类模板。 s5_5smain5_5.cpp 生产类的工厂?

32、生产类的工厂?生产车间生产车间 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 35 例例5_5和例和例5_4程序运行的结果完全相同。程序运行的结果完全相同。 例例5_5程序的程序的实现代码却少很多实现代码却少很多。 例例5_5还可以生成其他的很多功能类似的模板还可以生成其他的很多功能类似的模板类,其适应范围大大增强了,比如:类,其适应范围大大增强了,比如:TNumber、TNumber等。等。 在例在例5_4的程序中,要生成新类,势必要增加的程序中,要生成新类,势必

33、要增加大量代码。大量代码。 这就是类模板的魅力所在。这就是类模板的魅力所在。 类模板就是用来生成类的工具类模板就是用来生成类的工具。 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 36 5.3.2 类模板的派生类模板的派生 / 用用类模板类模板派生出新的类模板派生出新的类模板 template class TSet( ) : public TList /派生类类模板定义。派生类类模板定义。 ; 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李

34、涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 37 从模板类派生新类从模板类派生新类 不同点:从模板类派生,而非从类模板派生。不同点:从模板类派生,而非从类模板派生。 /用用模板类模板类派生派生类派生派生类 template class TSet( ) : public TList /派生类模板定义。派生类模板定义。 ; 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 385.4 模板设计应用实例模板设计应用实

35、例(略略) 例例5_6,从一个链表类模板派生出了集合类模板。,从一个链表类模板派生出了集合类模板。 为了简单,只在表头插入,可以删除指定值的节点,为了简单,只在表头插入,可以删除指定值的节点,但限定一次只能够删除一个节点。但限定一次只能够删除一个节点。 s5_6smain5_6.cpp 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 39 从运行结果看:在集合从运行结果看:在集合sIntSet中第二次插入中第二次插入24节点是无效的,而在节点是无效的,而在sIntLi

36、st中两次插入中两次插入24都都有效。有效。 该程序实现了通过类模板来继承的例子。该程序实现了通过类模板来继承的例子。 从模板类继承的例子:从模板类继承的例子: s5_6smain5_6_0.cpp节点的值依次为:节点的值依次为: 24; 96; 48; 24; 12;节点的值依次为:节点的值依次为: 96; 48; 24; 12;节点的值依次为:节点的值依次为: 96; 48; 24; 12;节点的值依次为:节点的值依次为: 96; 48; 12; 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 40作业作业 5.5 习题习题 1 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2022-3-23主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪跃游洪跃 41Thanks!Thanks!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!