计05面向对象程序设计考试试卷纸B卷(2007上半年)

2019-03-11 15:48

cout<<(a+=3)<<′ ′; 课程名称: 面向对象程序设计 (B卷 闭卷) } 一、判断题,正确的打√,错误的打×(每小题1分,共计10分) 2、程序2(10分) 1、类中的静态成员数据为该类的所有成员所共享,在初始化后,它的值不#include 能被修改。× class A 2、在二维数组定义中,int a[][1+2]={{1,3,5},{2}} 是不正确的。× { public: 3、C++中,如果条件表达式值为-1,则表示逻辑值为真。√ virtual void act1(); 4、对于任一个类,用户所能定义的构造函数的个数至多为一个。× void act2() {act1();} 5、基类的保护成员在私有派生类中是私有成员。√ }; 6、在C++语言中,表达式:“a++” 和“++a”在任何地方的作用都是一样 void A::act1() 的。× { cout<<\7、使用派生类的主要原因是加强类的封装性和提高程序的运行效率。× } 8、char *const pt 表明pt是一个指针,它只能指向一个字符串常量。× class B : public A 9、程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每{ public: 次对程序修改所带来的编译工作量。√ void act1(); 10、在for循环中,是先执行循环体后再判断循环条件。√ }; 二、简答题(每小题8分,共24分) void B::act1() 1、什么是函数的递归调用?什么是函数的嵌套调用?它们的主要区别是什 { cout<<\么?(6分) } 2、什么是对象?什么是简单继承?什么是多重继承? void main() 3、简要说明:在VC++6.0中开发用于控制台程序时,如何开发具有多个源 { B b; 文件的工程。(6分) b.act2(); 三、填空题(每空2分,共10分) b.A::act1(); 1、下面的函数是判断由pHead所指向的链表是否是循环链表,如果是循环b.B::act1(); 链表,则函数返回1,否则返回0。链表的结构为: } struct MyLink{ 3、程序3(10分) int data; #include MyLink *Next; #include }; class Person 补充程序中不完整的地方。 { int CheckLink(MyLink *pHead) char m_strName[10]; //姓名 { MyLink *p; int m_nAge; //年龄 if (pHead==NULL) return 0; public: p = ____(1)____;//pHead->Next; Person(char* name,int age) while (p!=NULL) { { strcpy(m_strName, name); if(p==pHead) ____(2)____;//return 1; m_nAge = age; else p = ____(3)____;//p->Next; cout<<\} } return 0; ~Person() { cout<<\ } person\2、在下面程序的底画线处填上适当的字句,使该程序执行结果为:5+2 }; #include class base class Employee : public Person {int X; { public: char m_strDept[20]; base(int num=___(4)___) { ___(5)____;}∥构造函数初始化X的值 Person Wang; int GetNum() { return X;}∥成员函数GetNum取X值 public: }; Employee(char *name, int age, char *dept, char *name1, int void main() age1) { base test1(5),test2; : Person(name,age) , Wang(name1,age1) cout< ~Employee() { cout<<\const int N=5; }; void fun(); void main() void main() { {for(int i=1;i using namespace std; class Point {public: Point(){} ~Point(){cout<<\}; class Circle:public Point {public: Circle(){} ~Circle(){cout<<\ private: int radus; }; int main() {Point *p=new Circle; delete p; return 0; } (1)写出程序运行的结果。(3分) (2)如果把~Point()函数声明为虚函数,写出程序运行的结果。(3分) (3)如果删除main()函数中的“delete p;”语句,则运行该程序会存在什么问题?(3分) (4)简述虚函数的作用?(3分) 六、编程题(18分) 已知一个矩阵类CMtrix,其行数和列数分别放在数据成员Row和Column中,矩阵的值放在ValueM中。重载运算符“+”,使之能用于矩阵相加。重载函数使用友元函数,函数声明为:friend CMatrix operator+(CMatrix &, CMatrix &); 编程补充重载运算符“+”的函数的定义,并在main()函数定义两个矩阵对象,这两个矩阵的行和列数都为2行3列,然后输出这两个矩阵的和。 #define MaxR 100 #define MaxC 100 Class Mtrix {public : int Row,Column; int ValueM[MaxR][MaxC]; Mtrix(int i,int j) { Row = i; Column = j;} void display( ); //输出数据函数 void Init_ Mtrix( ) ; //初始化矩阵,函数体省略。 void SetMtrix( ); // 设置矩阵的值,函数体省略。 friend CMatrix operator+(CMatrix &, CMatrix &); //需要在类外定义。 } void Matrix::display() //定义输出数据函数 {for (int i=0;i< Row;i++) {for(int j=0;j< Column;j++) {cout<< ValueM [i][j]<<\ cout<

课程名称:面向对象程序设计参考答案及评分标准 五、理解问答题(12分) (B卷 闭卷) (评分标准:每答对一小题得3分) 一、判断题,正确的打√,错误的打×(每小题1分,共计10分) (1)(3分)程序运行结果为: (评分标准:每答对一个1分) executing Point destructor 1、× 2、× 3、√ 4、× 5、√ 6、× 7、× 8、× (2)(3分)程序运行结果为: 9、√ 10、√ executing Circle destructor 二、简答题(每小题8分,共24分) executing Point destructor 1、(评分标准:前两个知识点各3分,后一个知识点2分) (3)(3分)答:指针p所指向的对象所占用的存储空间没有释放。 答:在调用一个函数的过程中又出现直接或间接地调用该函数本身,(4)(3分)答:虚函数的作用是允许在派生类中重新定义与基类同名的称为函数的递归调用。 函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。 在调用一个函数的过程中,又调用另一个函数,称为函数的嵌套调用。 主要区别是:嵌套调用的函数不能是本身,自身调用的函数是本身。 六、编程题(18分) 2、(评分标准:前一个知识点4分,后两个知识点各2分) (评分标准:友元函数正确得10分,main()函数正确得8分;不完全正答:对象:是包含现实世界物体特征的抽象实体,每个对象有内部的确,则酌情得分。注意:程序还有其他等价写法) 属性和操作方法。 Matrix Matrix:: operator+(Matrix &a,Matrix &b) //定义重载运算符“+” 简单继承:派生类的基类只有一个的继承方法。 函数 多重继承:派生类的基类同时有多个时的继承方法。 {Matrix c; 3、(评分标准:答对建立工程得4分,答对添加源文件,得4分。注意: for(int i=0;i< Row;i++) 该方法仅做参考,还有其他方法也可行) for(int j=0;j< Column;j++) 答:开发方法:首先,建立一个简单的Win32控制台工程,编辑主 {c. ValueM [i][j]=a. ValueM t[i][j]+b. ValueM [i][j];} 程序并存盘。然后,在主菜单中选择:工程/添加工程/文件,在该工程中 return c; 添加一个源文件或头文件,再编辑。用此方式可以添加多个。最后,进行} 编译运行。在编辑多个源文件时,注意在源文件中正确加上包含的头文件。 int main() 三、填空题(每空2分,共10分) {Matrix a(2,3),b(2,3),c(2,3); 解答:(评分标准:每答对一个2分,注意:功能上等价的也正确) a. SetMtrix (); (1)、pHead->Next b. SetMtrix (); (2)、return 1 cout<Next a.display(); (4)、2 cout<


计05面向对象程序设计考试试卷纸B卷(2007上半年).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:某学校财务收支自查报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: