VC++习题参考答案….docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 C++面向对象程序设计 2.1 类和对象 1.什么是类?类的定义格式?类的成员一般分为哪两部分?它们的区别如何? ⑴“类”是对具有共同的属性特征和行为特征的对象的概括和抽象。 ⑵类的定义格式:class 类名{ [ private:] 私有数据成员和成员函数 public: 公有数据成员和成员函数 }; 数据成员和成员函数数据成员和成员函数 构造函数的名字必须与类名相同。构造函数可以有任意的形参,但不能具有返回值。定义对象时,编译系统会自动地调用构造函数。构造函数可以重载 5.什么是析构函数?析构函数有哪些特点? 析构函数也是类的成员函数,它有以下特点: 析构函数名也应与类名相同,只是在函数名前面加一个波浪符~。 析构函数不能带任何参数,也没有返回值。 每个类有而且只能有一个析构函数。析构函数不能重载。 6.什么是默认构造函数和默认析构函数? 假如用户没有自己编写构造函数或析构函数,编译系统也会自动生成一个构造函数和析构函数,这就是默认的构造函数和析构函数,但是这两个函数没有任何参数,也不进行任何操作。 7.什么是复制构造函数?它的功能和特点是什么? 复制构造函数是一种特殊的构造函数,它用来在已存在的对象基础上建立一个新对象。 复制构造函数的名称也和类名是一样的,但是它的形式参数,都是指向一个已经存在的对象,因此它的形式参数都是这种形式:“const 类名 ob”,即是一个对象的引用。 9.如何对对象进行初始化? 对象的初始化都是通过构造函数进行的,只要在声明对象时,逐个添好构造函数的实参。 11.什么是this指针?它有何作用? 一个类可以同时有很多对象存在,许多不同的对象可以调用相同的成员函数,编译系统为了知道当前是那个对象在调用成员函数,因此定义了this指针,this指针其实就是指向当前对象的指针。 12.什么是类的作用域?对象的生存期有何不同? 类的作用域简称类域,它是指在类的定义中由一对花括号所括起来的部分,每一个类都具有相应的类域。类域中定义的变量不能使用auto,register和extern等修饰符,只能用static修饰符,函数也不能用extern修饰符。 所谓对象的生存期是指对象从被创建开始到被释放为止的时间,按生存期的不同对象可分为如下三种:   1、局部对象:当对象被定义时调用构造函数,该对象被创建,当程序退出定义该对象所在的函数体或程序块时,调用析构函数,释放该对象。   2、静态对象:当程序第一次执行所定义的静态对象时,该对象被创建,当程序结束时,该对象被释放。   3、全局对象:当程序开始时,调用构造函数创建该对象,当程序结束时调用析构函数释放该对象。 2.2 继承和派生类 20.派生类是如何定义的?它有哪些特点? ⑴定义派生类的一般形式为: class 派生类名:[引用权限] 基类名 { 派生类新增的数据成员 派生类新增的成员函数 }; 21.派生类的继承方式有哪些?它们各有哪些特点? 这是继承技术中比较关键的问题。 从基类继承来的成员的引用,不是简单地把基类的私有成员和公用成员直接作为派生类的私有成员和公用成员来使用,而要根据基类成员的“封装权限”和派生类声明的“引用权限”共同决定。 ①当引用权限为public时,称为“公用派生类”。在公用派生类中,基类的public成员和protected成员仍然成为派生类中的public成员和protected成员;然而基类中的私有成员却成为了派生类中的“不可访问的成员”,不能被派生类使用。 ②当引用权限为private时,称为“私有派生类”。在私有派生类中,基类的公用成员和保护成员成为了派生类中的私有成员,基类的私有成员成为派生类“不可访问的成员”。 ③从以上两点可以看出,基类中的私有成员在派生类中都成为了“不可访问的成员” 。因此在继承中经常使用另外一种封装字protected,被protected封装的成员称为“保护成员”, 保护成员和私有成员相似,不能被外界引用,但它却可以被派生类的成员函数引用。 22.在定义派生类的过程中,如何对基类的数据成员进行初始化? 基类的数据成员初始化往往是通过基类的构造函数进行的,但是在么在建立派生类的对象时,是不会自动执行基类的构造函数,因而就会使基类中成员变量未初始化。所以在设计派生类的构造函数时,不仅要考虑派生类所增加的成员变量初始化,还应当考虑基类的成员变量初始化。在执行派生类的构造函数时,应当调用基类的构造函数。 因此考虑到基类成员变量初始化后,派生类的构造函数一般形式为: 派生类构造

文档评论(0)

我是追梦人 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档