欢迎来到天天文库
浏览记录
ID:8960234
大小:41.50 KB
页数:6页
时间:2018-04-13
《面向对象与c复习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《面向对象与C++》复习题一、简答题1、简述解释方式与编译方式。答:编译就是先有目标代码再执行;解释就是一边翻译一边执行。解释方式是边扫描源程序、边进行翻译,然后执行。即解释一句、执行一句,不生成目标程序。这种方式运行速度慢,但在执行中可以进行人机对话,随时改正源程序中的错误。编译方式是将源程序全部翻译后,生成一个等价的目标程序,对目标程序再进行连接装配后,便得到“执行程序”,最后运行执行程序。由于源程序一旦编译后不再参与运行,以后每次直接运行执行程序即可,所以运行速度快。但这种方式不够灵活,每次修改源程序后,哪怕只是一个符号,也必须重新编译、连接;2、简述面向过程的程序设计与面向对
2、象的程序设计。面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。结构化程序设计又称为面向过程的程序设计。在面向过程程序设计中,问题被看作一系列需要完成的任务,函数(在此泛指例程、函数、过程)用于完成这些任务,解决问题的焦点集中于函数。其中函数是面向过程的,即它关注如何根据规定的条件完成指定的任务。3、什么是拷贝构造函数。是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的
3、值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。4、重写与重载的区别。方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不
4、同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。5、动态绑定与静态绑定。静态绑定:在面向过程的中又称为前期绑定在程序编译时进行了绑定,即在还没运行时,就已经加载到内存。3.动态绑定:在面向过程中称为后期绑定(运行时绑定)在运行时就进行绑定,根据实际情况有选择的进行绑定。6、传值、传指针与传引用的优缺点。答:传值安全低效,传指针与传引用高效不安全,如果加上CONST就安全了。7、将函数声明为常成员函数的作用。不可修改成员,即对声明为const的成员作改动就会报错,容易发现问题8、构造新类时,使用组合与继承的原则是什么。答:构造
5、新类时,例如A是基类,B是A的派生类,继承的原则如下:1.如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能和属性,2.若在逻辑上B是A的“一种”,则允许B继承A的功能和属性。组合的原则如下:1.若在逻辑上B是A的“一部分”,则不允许B从A的派生,而是要A与其它东西组合出B。9、内联函数的作用。答:内联函数就是指在每个使用它的地方插入全部算法,而不是把函数地址传过去,它是编译在堆内存里的,直到程序结束后它才失效,这样能加快执行的速度,效率更高,但是内联函数一定要是短小的,否则只能起到反作用.10、抽象类。答:用abstract修饰的类是抽象类。 在C++中,含有纯
6、虚拟函数的类称为抽象类,它不能生成对象。凡是包含纯虚函数的类都是抽象类。它与非抽象类的不同: 1、抽象类不能直接实例化,并且对抽象类使用new运算符是编译时错误。 2、允许(但不要求)抽象类包含抽象成员。3、抽象类不能被密封。二、选择题1、编译程序的功能是(c)A)将汇编语言程序转换为目标程序B)将汇编语言程序转换为高级语言程序C)将高级语言程序转换为目标程序D)将高级语言程序转换为汇编语言程序2、在C++语言中,对函数参数默认值描述正确的是(d)A)函数参数的默认值只能设定一个B)一个函数的参数若有多个,则参数默认值的设定可以不连续C)函数参数必须设定默认值D)在设定了参数的默
7、认值后,该参数后面定义的所有参数都必须设定默认值3、考虑函数原型void test(int a,int b=7,floatf=6.0),下面的函数调用中,属于不合法调用的是:(c)A)test(5); B)test(5,8);C)test(6,3.2) D)test(0,1,1.2);4、下面有关重载函数的说法中正确的是(c)A)重载函数必须具有不同的返回值类型; B)重载函数形参个数必须不同; C)重载函数必须是参数个数不同或类型不同; D)重载函
此文档下载收益归作者所有