面向对象程序设计基础期末考试试卷a卷_第1页
面向对象程序设计基础期末考试试卷a卷_第2页
面向对象程序设计基础期末考试试卷a卷_第3页
面向对象程序设计基础期末考试试卷a卷_第4页
面向对象程序设计基础期末考试试卷a卷_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、I 选择题 (共10小题,每小题2分,共20分)(1)下面程序的输出结果是( )#include using namespace std;class Base public: Base(int i) cout i; Base () ;class Base1: virtual public Base public: Base1(int i, int j=0) : Base(j) cout i; Base1() ;class Base2: virtual public Base public: Base2(int i, int j=0) : Base(j) cout i; Base2() ;cla

2、ss Derived : public Base2, public Base1 public: Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c), Base2(d), Base(a) cout b; private: Base2 mem2; Base1 mem1;void main() Derived objD (1, 2, 3, 4); A)134122B)123412C)14302012D)143212(2)下面程序的输出结果是( )#include using namespace std;class Base

3、 public: virtual void f() cout “f0+”; void g() cout “g0+”; ;class Derived : public Base public: void f() cout “f+”; void g() cout f(); p-g(); A)f+g+B)f0+g+C)f+g0+D)f0+g0+睿书 17:02:36基类中如果定义了虚函数,那么如果在派生类中重载这个虚函数的话,这个重载的函数就会自动成为虚函数,也就是说f()函数也是虚函数 睿书 17:03:44而如果用指向基类的指针去调用虚函数,则会去调用派生类的函数,也就是派生类的f()函数,而不

4、会去调用基类的f()函数 睿书 17:04:44g()不是虚函数,就是一个简单的函数调用(3)下列关于this指针的说法正确的是( )A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针(4)下列运算符中,不能重载的是 ( )A)&B)!=C).D)-(5)若有以下类定义class MyClass public:MyClass() cout 1; ;则执行语句MyClass a,b2,*p2;后,程序的输出结果是( )A)11B)111C)1111D)11111姓名: 学号: 系别:

5、 年级专业: ( 密 封 线 内 不 答 题 )密封线线(6)下面的程序段的运行结果为( )char str = job, *p = str;cout *(p+2) B).C):D)II 基本语法结构 (共30分)1 执行完下列语句后,a、b、c 3个变量的值各为多少? (3分)a = 10;b = a+;c = +a;2 执行完下列语句后,n的值为多少? (3分)int n;for(n = 10; n = 100; n+);3 写出下列表达式的值:(3分) 103/4 10000002%4 101/4.04 写出下列表达式的值:(3分) 2 3 & 16 9 !(14 15) | ( 6 2

6、姓名: 学号: 系别: 年级专业: ( 密 封 线 内 不 答 题 )密封线线7 写出下面程序运行的结果:(10分)#include using namespace std;int i;void func1(int& i)i+=10;couti=iendl;void func2(int i)i+=20;couti=iendl;int main(int argc, char* argv)i = 2;int i = 3;couti=iendl;couti=iendl;func2(i);couti=iendl;func1(i);couti=iendl;return 0;i=3 i=2i=22i=2i

7、=12i=121 创建一个VC6.0项目。要求:以你的学号后三位+姓名为项目名创建一个带“Hello World”的win32控制台应用程序。以“200741404101 方林楷”为例,所创建项目的名称为“101方林楷”(10分)2 在上面创建的项目中设计并实现Point类,属性包括一对点的坐标int x,y;成员函数至少包括带两个参数(int x, int y)的构造函数,拷贝构造函数,以及分别取得x,y值的函数getX()和getY(),和把点移到某固定点的函数MoveTo(int x,inty),要求成员变量均为private属性。(10分)3 在上面声明的Point类中,派生出一个新类Line,属性包括一个Point类的对象p用来表示直线上的一个点,父类的成员变量x和y表()(示直线上的另一点;成员函数至少包括不带参数的构造函数,和计算两点间距离的函数Distance()。要求成员变量均为private属性。(10分)提示:对数x开平方的函数sqrt(x)需要包含头文件“math.h” 4 运算符重载。假设obj是Point类的对象,obj+是指把Point类的成员变量x和y的值分别加1,请实现这个+运算符的重载。(10分)5 直线的斜率k的算法是这样的,当两点(x1,y1)和(x2,y2)表示的直线不为竖直的直线时,也即x1 x2不为0时,k = (y1 y2)/(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论