- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
2-20运行下面的程序,观察其输出,体会i++与++i的差别。
#includeiostream.h
intmain()
{
intmyAge=39;//initializetwointegers
intyourAge=39;
myAge++;//postfixincrement
++yourAge;//prefixincrement
return0;
}
解:
程序运行输出:
Iam39yearsold
Youare39yearsold
Oneyearpasses
Iam40yearsold
Youare40yearsold
Anotheryearpasses
Iam40yearsold
Youare41yearsold
Letsprintitagain
Iam41yearsold
Youare41yearsold
3-4什么叫内联函数?它有哪些特点?
解:
定义时使用关键字inline的函数叫做内联函数;编译器在编译时在调用处用函数体进行替换,节省了参数传递、控制转移等
开销;内联函数体内不能有循环语句和switch语句;内联函数的定义必须出现在内联函数第一次被调用之前;对内联函数
不能进行异常接口声明;
3-5函数原型中的参数名与函数定义中的参数名以及函数调用中的参数名必须一致吗?
解:
不必一致,所有的参数是根据位置和类型而不是名字来区分的。
1/9
3-6调用被重载函数时,通过什么来区分被调用的是哪个函数?
解:
重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自
动确定调用哪一个函数。
3-11什么叫作嵌套调用?什么叫作递归调用?
解:
函数允许嵌套调用。如果函数1调用了函数2,函数2再调用函数3,便形成了函数的嵌套调用。函数可以直接或间接地
调用自身,称为递归调用。
4-3构造函数和析构函数有什么作用?
解:
构造函数的作用就是在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态,使此对象具有区别于彼对象
的特征,完成的就是是一个从一般到具体的过程,构造函数在对象创建的时候由系统自动调用。析构函数与构造函数的作用
几乎正好相反,它是用来完成对象被删除前的一些清理工作,也就是专门作扫尾工作的。一般情况下,析构函数是在对象的
生存期即将结束的时刻由系统自动调用的,它的调用完成之后,对象也就消失了,相应的内存空间也被释放。
4-4数据成员可以为公有的吗?成员函数可以为私有的吗?
解:
可以,二者都是合法的。数据成员和成员函数都可以为公有或私有的。但数据成员最好定义为私有的。
4-6什么叫做拷贝构造函数?拷贝构造函数何时被调用?
解:
拷贝构造函数是一种特殊的构造函数,具有一般构造函数的所有特性,其形参是本类的对象的引用,其作用是使用一个已经
存在的对象,去初始化一个新的同类的对象。在以下三种情况下会被调用:在当用类的一个对象去初始化该类的另一个对象
时;如果函数的形参是类对象,调用函数进行形参和实参结合时;如果函数的返回值是类对象,函数调用完成返回时;
4-7拷贝构造函数与赋值运算符(=)有何不同?
解:
赋值运算符(=)作用于一个已存在的对象;而拷贝构造函数会创造一个新的对象。
4-11定义一个矩形类,有长、宽两个属性,有成员函数计算矩形的面积
解:
#includeiostream.h
classRectangle
{
public:
Rectangle(floatlen,floatwidth)
{
Length=len;
Width=width;
}
~Rectangle(){};
floatGetArea(){returnLength*Width;}
floatGetLength(){returnLength;}
2/9
floatGetWidth(){returnWidth;}
private:
floa
文档评论(0)