面向对象程序设计 郑州大学远程教育.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计郑州大学远程教育面向对象程序设计郑州大学远程教育

郑州大学现代远程教育《面向对象程序设计》课程 考核要求 说明:本课程考核形式为提交作业,完成后请保存为WORD 2003格式的文档,登陆学习平台提交,并检查和确认提交成功(能够下载,并且内容无误即为提交成功)。 作业要求 1.请独立自主完成作业内容。 作业内容 一)、简答题:(每题 5 分,共30 分) 1、函数模板与函数有何关系? 函数就是一个功能,一个程序文件包含多个函数,但只能有一个main函数。 函数模版是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表,这个通用的模版就是函数模版 2、类模板与类有和关系? 类模版是对一批仅仅成员数据类型不同的类的抽象,只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类,(这类可以看作是类模板的实例),从而大大提高编程的效率。 类(class)定义??定程序中的数据类型。这些数据类型的实例被称为对象,这些实例可以包含程序员定义的成员变量、常量、成员函数,以及重载的运算符。语法上,类是C中结构体(struct)的扩展,结构体不能包含函数以及重载的运算符 3、什么是继承? 所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类称为“基类(base class)”或“父类(father class)”,新建的类称为“派生类(derived class)”或“子类(son class )”。 一个新类从已有的类那里获得其已有特性,这种现象称为类的继承。通过继承,一个新建子类从已有的父类那里获得父类的特性。 4、继承方式有哪些?产生的结果是什么? public、private、protected三种(它们直接影响到派生类的成员、及其对象对基类成员访问的规则)。 (1)public(公有继承):继承时保持基类中各成员属性不变,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。 (2)private(私有继承):继承时基类中各成员属性均变为private,并且基类中private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。 (3)protected(保护性继承):继承时基类中各成员属性均变为protected,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员 5、什么是动态绑定? 动态绑定是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。 程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为动态绑定。 6、什么是抽象类?有何特点? 答:用?abstract?修饰的类是抽象类。? ??在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象。???抽象类是不完整的,并且它只能用作基类。其特点如下:? ??1、抽象类不能直接实例化,并且对抽象类使用?new?运算符是编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为?null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。???2、允许(但不要求)抽象类包含抽象成员。???3、抽象类不能被密封。 二)、分析下面的代码,回答问题(每题 10 分,共 40 分) 1.下面程序的执行结果是什么?为什么? class B{ protected: virtual void f( ){coutBendl;} public: void g( ){f( );} }; class C:public B{ protected: void f( ){coutCendl;} }; void main( ) { C d; d.g( ); } 2.下面程序的执行结果是什么?为什么? class BC { public: BC( ) { cout BC constructor\n; } ~BC( ) { cout BC destructor\n; } }; class DC : public BC { public: DC( ) { cout DC constructor\n; } ~DC( ) { cout DC destructor\n; } }; int main( ) { DC d; return 0; } 答:BC constructor\n

文档评论(0)

ganqludp + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档