1 / 46
文档名称:

数据结构与算法分析.docx

格式:docx   大小:214KB   页数:46
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构与算法分析.docx

上传人:小雄 2021/6/8 文件大小:214 KB

下载得到文件列表

数据结构与算法分析.docx

文档介绍

文档介绍:数据结构与算法分析
目录
关于'类'需要注意的点 2
C风格字符串的一些操作 8
C++ String 类 8
string 流 11
istream 类 12
ostream 类 13
文件I/O 14
列表(基于C++) 16
链表(基于C++) 25
作者 :黄兆楠
修改时间:2011年11月2日
版本号 :
关于'类'需要注意的点
1、 在函数成员的声明末尾加关键词const,表明该函数是一个常函数,这意味着它不能改变该类中任何
一个数据成员的值,任何一个改变数据成员的企图或者有可能修改数据成员的动作(比如将数据 成员传递给某个可能修改它们值的其他函数)将导致一个编译错误。
2、 构造函数:
主要的角色是初始化对象的数据成员(或者是使用默认值,或者是使用实参提供的值)
名字与类名一样,是公有函数成员,没有返回类型,可以被定义为内联函数
无论何时,当一个对象被定义时,一个构造函数就被调用,如果一个类中没有显式给出构造函 数,那么编译器将会给出一个默认的构造函数并调用它为每个数据成员分配存储空间。如果已 经为类提供了一个构造函数,那么还必须提供一个默认的构造函数,因为此时编译器不会在提 供默认的构造函数了。
构造函数的定义形式:
ClassName::ClassName(parameter_list)
:member_initializer_list
(
〃构造函数函数体
}
Memberjnitializerjist是跟在冒号后面的一个列表(可以为空),包含者由逗号隔开的如下形式的成 员初始化值设定项:
datamember(argumentjist)
这些值设定项被按照在类中定义的次序被依次调用,而不是按照他们在初始值设定列表中顺序调用, 为避免混淆,这两者应保持一致。
3、 重载函数:无论是普通函数还是类的成员函数,只要它们的参数列表中的参数在数量上或者类型上不
同,这是被允许的,这样一个函数的名字称为被重载了。
注:不允许两个函数具有相同的名字和相同的参数列表,而仅仅只是返回类型不同。
4、 默认实参:使用默认实参需要记住下面两点:
具有默认实参的形参必须是形参列表中最后的一些形参;即他们必须在所有没有默认实参的形 参后面出现
不能在函数的原型和定义中都规定默认值,通常在函数原型中给出默认值。
5、 访问函数和更动函数:一般规范设计且处于信息安全考虑,必须把类的数据成员定义为私有的,只能
被成员(以及友元)函数访问。这样使得存放在部分或者所有这些成员的值能够被广泛的经常访 问是非常必要的。
访问函数:仅仅被用来提取存储在数据成员中的值,但他们不能改变这些数据成员的值。
更动函数:用于修改数据成员的值(函数中必须有对修改的值的合理性的判断以保证信息安全)。
6、 重载运算符:C++中,可以通过定义一个。peratorA ()函数来重载任何一个运算符△,并且这个函数
的特性与已经存在的任何一个operator A 0不同来实现。
如果函数operatorA ()被定义为类C的成员函数,那么式子
aAb被看做对这个成员函数的调用,其中a是C类的一个对象,且b是它唯一的一个(显式) 的实参:
a. operatorA (b);
如果形如operatorA ()的运算符函数不是一个类的成员函数,则aAb 〈今operatorA (a, b)
7、 重载输入/输出运算符:
输出:若将operator« 0定义为类stream的一个成员,将可 会破坏标准<iostream>库。
因此operator<<()必须定义为一
个普通函数。该重载函数的类型如下
Ostream &operator« (ostream &out, const T &t)
(
//函数体
return out;
)
输入:同理,重载输入运算符的函数必须为普通函数,形式如下
ist ream &operator»( istream &in, const T &t)
(
〃函数体
return in;
}
8、 重载关系运算符(v,>, = ,<=,>=,!=)
若要为类T重载任意一个关系运算符,可以将重载函数operatorA ()定义为类T的成员函数。
原型:bool operatorA (const T &t);
定义: bool T: : operatorA (const T &t) (…}
9、 类析构函数:用于释放对象内动态分配的内存及其他成员对象的存储空间,析构函数的名字总是
类名
析构函数不能带任何参数且无返回类型
在程序中任何一个对象脱离其作用域或的地方,编译器会自动插入对析构函数的调用

最近更新

2026年新星职业技术学院单招职业适应性考试模.. 43页

2026江苏常州市儿童医院招聘高层次人才考试考.. 49页

2025广东河源市紫金县应急管理局招聘安全生产.. 48页

2025福建福州市园开港湾经贸有限公司招聘1人考.. 43页

2026年c语言基础知识试题及答案(典优) 13页

2026年c语言知识试题及答案(名师系列) 13页

2026年上海理工大学单招职业适应性测试题库附.. 44页

2024年沈阳建筑大学辅导员招聘考试真题汇编最.. 36页

2026年兰州科技职业学院单招综合素质考试题库.. 46页

2025内蒙古巴彦淖尔市磴口县第二批社区工作者.. 32页

2026年危化品安全生产知识题库附参考答案(基.. 41页

2026年各工种岗位作业安全考核试题附答案(综.. 40页

2025年望江县幼儿园教师招教考试备考题库附答.. 31页

2026年国开电大外国文学形考题库及完整答案(.. 41页

2026年塔城职业技术学院单招职业适应性测试模.. 42页

2025河南漯河市沙澧河建设运行保障中心人才引.. 50页

2026年工贸试题-考试题库及答案【必刷】 42页

2026年广东轻工职业技术学院单招职业适应性考.. 45页

2026内蒙古鄂尔多斯市伊金霍洛旗公立医院招聘.. 49页

2026年廉政法规知识考试题库(研优卷) 14页

2026年数组c语言考试题库及答案一套 13页

2026年朔州师范高等专科学校单招职业倾向性测.. 46页

2026年卧底笔试题库100道附答案(综合题) 39页

2026年江西交通职业技术学院单招职业倾向性考.. 37页

2025年新疆考试录用公务员《公安专业科目》真.. 30页

2025年安徽邮电职业技术学院单招职业技能测试.. 66页

2024年南京信息职业技术学院单招职业技能测试.. 78页

CFG群桩基础土方开挖施工方案 6页

全国大学生智能车大赛作品-智能循迹小车技术文.. 31页

中药配伍禁忌表 6页