下载此文档

面向对象程序设计C.doc


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
面向对象程序设计 C++ 考试复****材料一、问答题(每小题分,共分) 1. C++ 的类库主要有哪 2 种? 答: 主要有 Borland 的 OWL(Object Windows Library) 和 Microsoft 的 MFC 。1. 简单叙述类的确定与划分的基本方法答:将目标任务中具有共性的成分确定为一个类;可以按照以下步骤进行分析:第一, 要判断该事物是否有一个以上的实例; 第二, 要判断类的实例中有没有绝对的不同点, 如果没有,则它同样可能被确定为一个类。 2. 什么是抽象类?抽象类能否用来创建对象?抽象类的作用是什么? 答: 含有纯虚函数的类是抽象类。抽象类不能声明对象实例。只能声明指针或作为基类派生子类。答案见课本 226 页 3. 什么是虚函数?什么是纯虚函数?什么是多态类? 虚函数是保留字 virtual 定义的成员函数,基类的虚函数在派生类仍是虚函数。纯虚函数是在类中声明但没有定义的虚函数 4. 试论述类的静态数据成员与类的一般数据成员的不同点。如何初始化类的静态数据成员?如何初始化类的常数据成员? 答:类的静态数据成员在生成对象以前已经存在, 类的一般数据成员只有在利用类生成对象时才生成。类的静态数据成员一般在定义类的界面之外(后) 采用赋值法初始化( 如课本 121 页例 4-16 中的 int Person::total=0; )。类的常数据成员在构造函数的圆括号() 之后采用初始化列表法初始化( 课本 136 页 2. 常数据成员例 4-25 )。 5. 类的非静态数据成员与静态成员、成员函数在存储分配上有什么不同? 类的非静态数据成员各个对象的存储各自分配, 而所有同类对象的静态成员、成员函数代码共用,在存储分配上是一个存储。静态成员在生成对象之前已经存在。 6. 什么是静态类型与动态类型? 答: 声明指针或引用时所指定的基类型称为该指针或引用的静态类型。程序运行时指针或引用实际指向或引用的对象所属的类型称为该指针或引用的动态类型。静态类型用于编译程序检查类型的合法性,动态类型是静态类型的子类型, 被运行系统用于动态绑定。 7. 什么是静态绑定? 什么是动态绑定? 如何实现运行时的多态? 将函数调用与其相应的函数体实现代码相关联的过程称为绑定。静态绑定又称为早期绑定, 意味着调用哪个版本的函数在程序编译时已确定。静态绑定具有执行效率高、占用内存少等优点,但缺乏灵活性。动态绑定又称为晚期绑定, 意味着调用哪个版本的函数在程序运行时才确定。 C++ 语言的动态绑定通过继承与虚函数实现, 具体可以声明一个含有纯虚函数的抽象基类( 课本 227 页例 7-5 ) 或含有虚函数的基类和由此( 抽象) 基类公有派生的几个子类, 纯虚函数( 或虚函数课本 221 页例 7-2 )在不同子类中有不同的具体实现(一般都被定义为公有函数) 。一般是先声明一个祖先类指针、然后将祖先类或其派生类对象的地址赋值给这个祖先类指针, 再通过指针来调用虚函数实现动态绑定: 即指针指向哪个对象就执行该对象所属类型的虚函数; 当然也可以定义函数的参数为祖先类的引用、当调用函数时通过将祖先类对象或其派生类对象作为实际参数传递给函数的引用参数来实现成员函数调用的动态绑定; 动态绑定具有允许程序有更大灵活性, 提高程序可重用性、可扩充性等优点,

面向对象程序设计C 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小51 KB
  • 时间2017-04-27