您的当前位置:首页正文

模拟题1

来源:帮我找美食网
 ……………… … … … … … … … … … 线 … … …号…学… … … … … … … 订 … … …名…姓… … … … … … … 装 … … …级…班……………………………一、 单选题(共20分,每小题2分) 7、包含纯虚函数的类是_____。 1. C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是_____。 A、 基类 A、增加了一些新的运算符 B、 抽象类 B、允许函数重载,并允许设置缺省参数 C、 派生类 C、规定函数说明符必须用原型 D、 虚基类 D、引进了类和对象的概念 8、当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 2、 下列不是类的成员函数的是 _____。 A)ios::in A、构造函数 B)ios::out B、析构函数 C)ios::in|ios::out C、友元函数 D)以上都不对 D、拷贝构造函 9、下列关于多态性的描述,错误的是_____。 3、关于析构函数,以下说法正确的是 A、C++语言的多态性分为编译时的多态性和运行时的多态性 A. 析构函数与构造函数的唯一区别是函数名前加波浪线~,因此析构函数也可以重载 B、编译时的多态性可通过函数重载实现 B. 当对象调用了构造函数之后,立即调用析构函数 C、运行时的多态性可通过模板和虚函数实现 C. 定义类时可以不说明析构函数,此时系统会自动产生一个缺省的析构函数 D、实现运行时多态性的机制称为动态联编 D. 类中定义了构造函数,就必须定义析构函数,否则程序不完整,系统无法撤消 10、应在下列程序划线处填入的正确语句是 4、通常,拷贝构造函数的参数是 #include A、某个对象名 B、某个对象的引用名 class Base C、某个对象的成员名 D、某个对象的指针名 { public: 5、继承类的构造顺序下面说法正确的是  void fun(){cout<<\"Base::fun\"<fun(); 二、 填空题(共15分,每空1分) 1、面向对象程序设计的三大特点是__ ___、__ ___和__ ___。 2、创建类对象时,系统自动调用______ __函数,在类对象生命期结束时,自动调用__________函数。 3、继承的方式有单一继承和______ _ 4、设置虚基类的目的是______ _ 5、运算符重载的形式有两种:重载为类的成员函数和______ _ 6、用来声明虚函数的关键字是______ _

……………… … … … … … … … … … 线 … … …号…学… … … … … … … 订 … … …名…姓… … … … … … … 装 … … …级…班……………………………7、如果一个类中至少还有一个______ _,那么这个类称为抽象类。 2. 8、C++ 处理异常的机制是:______ _、______ _和处理异常。 # include 9、定义函数模板和类模板的关键字是______ _ class A 10、命名空间的作用是 ______ _ { 11、STL的意思是______ _ private: 三、 阅读程序写结果(共20分,每小题5分) int i,j; public: 1. #include A(int a,int b) {i=a;j=b;} class Cdate void add(int x,int y){i+=x;j+=y;} { void print() int day,month,year; { cout<<\"i=\"<print(); b.A::print(); delete a2; b.print(); } b.p(); 第1小题运行结果: } 第2小题运行结果: ……………… … … … … … … … … … 线 … … …号…学… … … … … … … 订 … … …名…姓… … … … … … … 装 … … …级…班……………………………#include #include float const PI=3.14; #include class point class CMyException{ { public: private: CMyException (string n=\"none\") : name(n) float x,y,area; {cout<<\"构造一个CMyException对象,名称为:\"<0) public: throw \"error\"; circle(float x1,float y1,float Nr):point(x1,y1) else { throw x; r=Nr; } cout<<\"circle构造函数被调用!\\n \"; void main() } { ~circle(){cout<<\"circle析构函数被调用!\\n\";} try{ throw new CMyException(\"obj1\"); } float getarea(){return PI*r*r;} catch(CMyException *e){ }; cout<<\"捕获一个CMyException类型的异常,名称为:\"<< void main() e->GetName()<getarea()<getarea()<……………… … … … … … … … … … 线 … … …号…学… … … … … … … 订 … … …名…姓… … … … … … … 装 … … …级…班……………………………五、程序设计(共45分) 3.定义复数(Complex)类,主函数如下。(12分) void main() 1.设计一个盒子类(Cbox) ,能计算并输出,盒子的表面积和体积(10分) { Complex ob1(1,2); Complex ob2(2.5,3); Complex ob3(ob2); Complex Sum1,Sum2; Sum1= ComplexAdd (ob1,ob3) ; Sum2=ob1-ob2; Sum1.Show(); Sum2.Show(); } 要求: 1) 加适当的构造函数完成对象的初始化 2) 编写show ()成员函数实现显示复数的信息(格式为2+5i) 3) 使用友员函数实现对复数的加法(ComplexAdd函数) 4) 使用运算符重栽实现两个复数的减法(-)。 注:复数有实部、虚部组成Complex a(2,5)既代表 2+5i 2、编写函数模板,求数组元素中的最大值(10分) ……………… … … … … … … … … … 线 … … …号…学… … … … … … … 订 … … …名…姓… … … … … … … 装 … … …级…班……………………………4、编写一个简单的学生成绩系统,要求如下(13分) 1) 定义Cperson基类,包括姓名、性别等信息,包含适当的构造函数和显示函数 2) 定义派生类学生类(Cstudent,从Cperson继承),学生有姓名、性别、学号及三门课的成绩 3) 将学生信息存入到磁盘文件“student.dat”

因篇幅问题不能全部显示,请点此查看更多更全内容

Top