《面向对象程序设计》C++期末试题及答案(A卷).docx
《《面向对象程序设计》C++期末试题及答案(A卷).docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》C++期末试题及答案(A卷).docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南开大学理科面向对象程序设计2-22007级期末考试试卷(A卷)2008年6月任课教师 学院 系别(班级)姓名 学号题号*四合计成绩B、单项选择(每空1分,共20分)(结果必须填写在题头相 应横线上)注意:请将选择题结果写在下面相应位置上:(1)(2)(3)(4)(5)(6)(7)(8)(9)(11)(13)(14)(16)(17)(18)1、下列关于构造函数说法不正确的是()。A)构造函数必须与类同名B)构造函数可以省略不写C)构造函数必须有返回值D)在构造函数中可以对类中的成员进行初始化2、任意一个类,析构函数的个数最多是( )oA)不限个数(B) 1(C) 2(D) 33、友元的作用是(
2、)。A)增减成员函数的种类B)加强类的封装性C)实现数据的隐藏D)提高程序的运行效率4、在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )oA)派生类的对象可以直接访问基类的所有成员B)派生类的对象可以初始化基类的引用C)派生类的对象不可以直接访问基类中的私有成员;(4)void Tennisclub:visit(Person &x)(cout姓名:x.namevendl;cout年龄:x.agevendl;coutv可以使用的俱乐部:nclubendl;coutn介绍人: nameendl;)void main()(TennisClub a(明星俱乐部J李晓明)Per
3、son b(张静28);a.visit(b);)2、文件filel.txt中有10个字符,下面的程序将文件filel. txt的内容复制到 文件file2.txt中。请将程序补充完整。(本题共12分,每空3分)#include(5)using namespace std;#include#includevoid main()(fstream infile, outfile;infile.open(nfilel .txtn,ios:in);if(! infile)(coutfilel.txt cant open.nn;abort();)(6)outfile.openC6file2.txfiso:
4、out)if(!outfile)coutnfile2.txt cant open Ann;abort();char ch;for(int i=0;i10;i+)infilech; 写入内存coutch;(7)return 0;Outfilech;写入文件)infile.close();outfile.close();)3、请将下面的程序补充完整,使得函数fun()具有多态性。(本题10分,、空每空3分,、(11)空每空2分)#include #include class Power(public:Power(int i)x=i;(9)virtual fun(power);Virtual voi
5、d display();protected:int x;);class Square:public Powerpublic:(10)fun(Power);Square(int i):Power(i)void displayOcoutnx=Hxendl;coutnx square=1 *x*xendl;);(11)class Cube:public Power public:Cube(int i): Power(i)void displayO cout Hx = * x endl; coutHx cube=nx*x*xendl;);Power &p)void fun(12) p.displayO
6、;)void main() Square squ(2);Cube cub(3);fun(squ);fun(cub);2007级期末考试试卷(A卷)答案一、单项选择(每空1分,共20分)CBDAD CDDAA CCBDD DBBAD二、判断题(每空1分,共10分)FTFTT FFFTT三、读程序写结果(共36分)x=0,y=0x=2,y=3(3) x!=y(4) x=yn=10 (6) n=30s=5a=-6(9) s=0c=T (11) Hello50(13) OK!、程序填空(每空2至3分,共34分)(1) class TennisClubTennisClubfriend class Ten
7、nisClub; 或 friend TennisClub; 分号可有可无(4) void TennisClub:visit(Person &x)(5) #include(6) outfile.open(nfile2.txtH,ios:out);outfilevvch;infile.closeQ;(9) virtual void displayQ ;(10) Square(int i):Power(i) (11) class Cube:public Power(12) Power &pD)派生类的对象的地址可以赋给指向基类的指针5、下面对静态数据成员的描述中,正确的是()。A)静态数据成员可以在
8、类体内进行初始化B)静态数据成员不可以被该类的对象调用C)静态数据成员不能受private控制符的作用D)静态数据成员可以直接用类名访问6、在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )oA)友元函数B)虚函数 C)构造函数D)析构函数7、下列对派生类的描述中错误的是()。A)派生类至少有一个基类B)派生类可作为另一个派生类的基类C)派生类除了包含它直接定义的成员外,还包含其基类的成员D)派生类对其继承的基类的成员访问权限保持不变8、下列关于this指针的说法,正确的是()。A) this指针一定指向常量型数据B) this指向的数据不可更改
9、C)静态成员函数中也可以访问this指针D) this指针本身可直接作为成员函数的返回值9、下面关于类的成员函数描述不正确的是()。A)静态成员函数内可以直接访问类的非静态成员数据B)静态成员函数内可以直接访问类的静态成员数据C)非静态成员函数可以直接访问类的非静态成员数据D)非静态成员函数可以直接访问类的静态成员数据10、下列关于类和对象的叙述中,错误的是()。A) 一个类只能有一个对象B)对象是类的具体实例C)类是某一类对象的抽象D)类和对象的关系是一种数据类型与变量的关系11、有如下类声明:class Sample int x; ;则Sample类成员x是Sample类的()。A)公有数
10、据成员B)保护数据成员C)私有数据成员D)以上选项都不正确12、在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函 数重载的运算符。下列叙述中正确的是( )oA) operator+有两个参数,operator*有两个参数B) operator+有两个参数,operator*有一个参数C) operator+有一个参数,operator*有两个参数D) operator+有一个参数,operator*有一个参数 13、下列关于虚函数的说明中,正确的是( )oA)从虚基类继承的函数都是虚函数B)虚函数不得是静态成员函数C)只能通过指针或引用调用虚函数14、类模板的模板参数( )
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 面向 对象 程序设计 C+ 期末 试题 答案
限制150内