- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南京信息工程大学滨江学院C面向对象程序设计期末复习资料
+++ 面向对象程序设计复习资料
一、概念、填空题
面向对象的四大特性是:抽象、封装、继承、多态
构造函数的作用是创建对象时为对象赋初值,析构函数的作用是释放对象占用的资源
根据继承的基类的多少,C++将继承分为: 单继承和 对继承
C++进行动态内存分配的一对运算符是new和delete
抽象类、纯虚函数:…..P153
纯虚函数是一个在基类中说明的虚函数,它在该类基类中没有定义,但要求在它的派生类中必须定义自己的版本,或重新说明为纯虚函数。
如果一个类至少有一个纯虚函数,那么就称该类为抽象类。
对象拷贝有两种方式:浅拷贝和 深拷贝
变量的生存期分为:动态生存期和 静态生存期
C++里的逻辑值:非0表示真,0表示假
C++里函数参数传递方式有:值传递、地址传递和引用传递(P35例2-13程序1程序2程序3)
静态成员变量属于类,所有的对象共享。........静态成员变量的使用
根据访问控制,C++将继承分为:公有继承、私有继承和保护继承
用const修饰的对象,其意思是:对象的状态不能被修改
拷贝构造函数被调用的场合有3种,分别是:用对象作参数构造对象时、为函数实参对象赋值时、函数返回对象时
C++里的模版包括:函数模版和类模版
命名空间及其作用
名字空间就是一个由程序设计者命名的内存区域,名字空间的作用类似于操作系统中的目录和文件的关系。名字空间建立了一些相互分隔的作用域,把全局标识符分隔开,避免产生名字冲突。(P48)
类的访问属性包括:公有、私有、继承
虚基类的作用 P124
如果一个派生类有多个直接基类,而这些基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类成员的多份同名成员。但由于保留共同基类的多份成员,不仅占用较多的存储空间,还增加了访问这些成天元时的困难,容易出错。C++提供了虚基类的方法,使得在继承间接共同基类时只保留其一份成员。
多态及其分类P145
多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。
参数多态,包含多态,重载多态,强制多态,前两种称为通用多态,后两种称为专用多态
虚函数与重载函数的比较 ....P153
(1)函数重载处理的是同一层次上的同名函数问题,而虚函数处理的是同一类族中不同派生层次上的同名函数问题,前者是横向重载,后者可以理解为纵向重载。但与重载不同的是:同一类族的虚函数的首部是相同的,而函数重载时函数的首部是不同的。 (2)重载函数可以是成员函数或普通函数,而虚函数只能是成员函数。 (3)重载函数调用是以所传递参数序列的差别作为调用不同函数的依据;虚函数是根据对象的不同去调用不同类的虚函数。 (4)虚函数在运行时表现出多态功能,这是C++精髓,而重载函数则在编译时表现出多态性。
一个类的函数是否是虚函数的条件是:.....P151
判断该函数与基类的虚函数有相同的名称;该函数与基类的虚函数有相同的参数个数及相同的对应参数类型;该函数与基类的虚函数有相同的返回类型或者满足赋值兼容规则的指针、引用型的返回函数。
cin cout
根据文件中数据的组织 ,文件分为ascII文件和二进制文件
强制类型转换:(int)3.5 int(3.5)
内联函数inline P62
该方法的思想是在编译时将调用函数的代码直接嵌入到调用函数处。INLINE函数的机制兼顾了函数和效率两个方面的有点。
二、看程序结果
以下程序的结果是_____5,7 5,10 5,7_________________(全局变量与局部变量问题)
viod myfunction( )
{int y=10; coutx“,”yendl; }
int x=5 ,y=7 ;
int main( )
{ coutx?“,”yendl;
myfunction( );
coutx“,”yendl; }
2、以下程序的结果是___2,12 2,14_____________________________(静态变量应用)
int ret(int a)
{ static int c=10;
a=a+c?; c=a?; return c; }
int main()
{ int a=2;
for(int i=0; i2; i++) couta”, ” ret(a))endl; }
3、以下程序的结果是________________3________________(指针)
int main( )
{ int a=2 ; Int *b=a ; a=3 ; cout*b ; }
4、
文档评论(0)