首页 c++期末复习题1及答案

c++期末复习题1及答案

举报
开通vip

c++期末复习题1及答案 练习题1 一、单项选择题(每小题2分,共计40分) 1、面向对象的特征中,理解不恰当的是_ __。 A、封装可以理解为将有关的属性和方法(即:动作)相结合,作为一个整体 B、继承可以理解为在保留已有类的属性和方法基础上构造新类 C、多态可以理解为一个类可以有很多方法,比如:可以输入数据也可以输出数据 D、抽象可以理解为将具体的对象或类进行概括,提炼出公共性质加以描述 2.下面有关类和对象的说法错误的是_ __。 A、对象是类的一个实例 B、一个...

c++期末复习题1及答案
练习题1 一、单项选择题(每小题2分,共计40分) 1、面向对象的特征中,理解不恰当的是_ __。 A、封装可以理解为将有关的属性和 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 (即:动作)相结合,作为一个整体 B、继承可以理解为在保留已有类的属性和方法基础上构造新类 C、多态可以理解为一个类可以有很多方法,比如:可以输入数据也可以输出数据 D、抽象可以理解为将具体的对象或类进行概括,提炼出公共性质加以描述 2.下面有关类和对象的说法错误的是_ __。 A、对象是类的一个实例 B、一个对象只能属于一个具体的类 C、一个类只能有一个对象 D、类与对象的关系和数据类型和变量的关系相似 3、bool flag; flag = true; 以下if条件中不成立的是_ __。 A、if(!flag) B、if(flag) C、if(flag == true) D、if(flag != false) 4、以下类型说明中, 错误的是_ __。 (A) x是int类型的, y是short类型的, x*y 是int类型的 (B) x是int类型的, y是float类型的, x+y 是float类型的   (C) x是int类型的, y是float类型的, x+int(y) 是int类型的   (D) x是double类型的, y是double类型的, int(x)*y 是int类型的 5、以下函数之间是重载关系的_ __。 A、void fun(int a); 与int fun(int a); B、void fun(); 与 int fun(int a); C、int fun(int a); 与 int fun(int c); D、int fun(int a); 与 int foo(int a); 6、下列函数声明中正确的是_ __。 A、int fun(int a, char b, float c=1.0); B、int fun(int a=0, char b, float c=1.0); C、int fun(int a=0, char b=’A’, float c); D、int fun(int a=0, char b, float c); 7、以下程序的输出结果是_ __。 #include int main() using namespace std; { int a=2,b=4; void foo(int x, int &y) foo(a,b); { cout< using namespace std; class Sun int main() { { public: Sun s; Sun() return 0; {cout<<"Sun created!";} } ~Sun () {cout<<"Sun destroyed!";} }; (A) 无输出 (B) Sun created!   (C) Sun destroyed! (D) Sun created!Sun destroyed! 9、32位系统下,以下说法正确的是 __。 class Student { // 成员函数略 private: int num; }; Student stu; A、Student和stu都占4个字节的内存空间 B、Student不占内存空间,stu占4个字节的内存空间 C、stu不占内存空间,Student占4个字节的内存空间 D、Student不占内存空间,stu所占内存空间不确定 10、32位系统下,以下说法正确的是_ __。 class Student class TestStudent:public Student {public: // 成员函数略 { public: // 成员函数略 private: private: int num; float score[3]; }; }; TestStudent stu; A、TestStudent和stu都占12个字节的内存空间 B、TestStudent不占内存空间,stu占16个字节的内存空间 C、TestStudent不占内存空间,stu占12个字节的内存空间 D、stu不占内存空间,TestStudent占16个字节的内存空间 11、在主函数中,以下输入语句正确的是_ __。 class Example {public: int num; }; Example ex; A、cin>>num; B、cin>>Example.num; C、cin>>ex::num; D、cin>>ex.num; 12、主函数中定义A objA; 以下说法正确的是_ __。 class A {public: A() { num = 0; } A(int n = 0) { num = n; } private: int num; }; A、执行构造函数A() B、执行构造函数A(int n = 0) C、执行其中任意一个构造函数 D、程序有歧义,通不过 13、要在主函数中设置数据成员的值,正确的方法是_ __。 class A {public: void set(int a) { aa = a; } private: int aa; }; A、A.set(3); B、A::set(3); C、set(3); D、A objA; objA.set(3); 14、在类内添加_ __构造函数的定义可以使主函数中的num正确初始化。 class Complex int main( ) {public: // 请添加构造函数 { private: Complex num(2.7,3.5); float real; // 实部 return 0; float imag; // 虚部 } }; A、void Complex() {real = 2.7; imag = 3.5; } B、void Complex(float r, float i) { r = real; i = imag;} C、Complex() {real = 2.7; imag = 3.5; } D、Complex(float r, float i) { real = r; imag = i;} 15、在A类内部定义其析构函数, 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 正确的是_ __。 A、~A(){} B、int ~A(){return 0;} C、void ~A(){} D、int ~A(int a){return a;} 16、以下说法中正确的是_ _。 class myClass {public: void set() const {cin>>x;} int get() const {return x;} int power() const {return x*x;} void display() const {cout<= D、 ++ 18、内存分配会出错的是_ __。 A、 int size = 5; char a[size]; B、 char a[5]; C、 int size = 5; char * p = new char [size]; D、char * p = new char [5]; 19、关于C类对象对数据的访问权限,说法正确的是_ __。 class A class B:public A class C:protected B {public: {public: {private: void fa(); void fb(); char cc; private: protected: }; int aa; float bb; }; }; A、public: fa(), fb() protected: aa, bb private: cc B、protected: fa(), fb(), aa, bb private: cc C、protected: fa(), fb(),bb private: cc D、public: fa(), fb() protected: bb private: cc 20、在Student类内添加_ __构造函数的定义可以使主函数中的学生s正确初始化。 class Person class Student:public Person {public: {public: // 请添加构造函数 Person(string nam) {name = nam;} private: protected: int num; // 学号 string name; // 姓名 }; }; int main() { Student s("Lily",101); return 0; } A、Student(string nam,int n):Person(nam) B、Student(string nam,int n) { num = n; } { name = nam; num = n; } C、Student(string nam):Person(nam) D、Student(int n) { num = 0; } { num = n; } 二、判断题(每小题1分,共计6分) 1.用class声明的类, 如果对其成员的访问属性不做声明,系统将其默认为public。 2.由于派生类继承了基类的构造和析构函数,所以派生类不必再定义自己的构造和析构函数。 3.类的成员函数和友元函数都有默认的this指针,所以在函数体中都可以直接访问类的成员。 4.成员函数在类外定义时要在函数名前面加类名:: 。 5.静态内存分配发生在编译过程,动态内存分配发生在运行过程中。 6.重载实现编译时的多态,虚函数实现运行时的多态。 三、阅读程序,写输出结果(每小题4分,共计24分) 1.#include using namespace std; class Sample {public: Sample(int i) {n = i;} operator ++( ) {n++;} void display( ) {cout< using namespace std; class Calculate {public: Calculate(int n):number(n){} void product () {mul = mul * number;} static int mul; private: int number; }; int Calculate::mul = 1; int main() { Calculate c1(3),c2(2),c3(6); c1. product( ); c2. product( ); c3. product( ); cout< using namespace std; class Box { public: Box(int h=1,int w=3,int len=4):height(h),width(w),length(len){ } int volume(); private: int height; int width; int length; }; int Box::volume() {return height*width*length;} int main() { Box a[3]={ Box(2), Box(5,2), Box(7,3,2) }; cout<<"volume of a[0] is "< using namespace std; class Base {public: void fun() {cout<<"Base called!"<fun(); p = &der; p->fun(); return 0; } 5.#include using namespace std; class Base {public: virtual void fun() {cout<<"Base called!"<fun(); p = &der; p->fun(); return 0; } 6.#include using namespace std; class Father {public: Father() {cout<<"Father created!"< 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 一个电话Phone类,保护属性:电话号码 string number, 公有动作:打电话call ,来电响铃ring,接电话pickup,挂电话hangup。(类的格式 2分) 要求:1) Phone创建对象时,通过参数传递方式,number得到初始化(3分) 2) A电话给B电话打电话,要在call函数中输出A号码给B号码打电话的信息,并引起 B电话来电响铃。(3分) 3)B电话来电响铃,要在ring函数中输出B号码电话响的信息。(2分) 4)B接电话,要在pickup函数中输出B号码接电话和通话开始的信息。 (3分) 5)A挂电话,要在hangup函数中输出A号码挂电话的信息,并输出A号码和B号码通话结束的信息。如果B挂电话,也一样输出B号码挂电话的信息,并输出A号码和B号码通话结束的信息。 (3分) 2. 设计一个移动电话CellPhone类,它公有继承自Phone类。CellPhone类新添加的私有属性:短信内容string message, 新添加的公有动作:发短信send ,短信提示shortring,收短信receive。(类的格式 2分) 要求:1) CellPhone创建对象时,number 和message均得到初始化(4分) 2) A电话给B电话发短信,要在send函数中输出A号码向B号码发送短信的信息,并引 起B电话短信提示。(3分) 3)B电话短信提示,要在shortring函数中输出B号码有新短信的信息, 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示提示。(2分) 4)B电话接收短信,要在receive函数中输出B号码接收到A号码的短信的信息,并输出 信息内容。(3分) 使用主函数如下: int main() { CellPhone A("80825","你好!"),B("80600","速回电!"),C("80241","开会中!"); A.call(B); // A打电话给B B.pickup(A); // B接电话A的电话,通话开始 A.hangup(B); // A挂断电话,通话结束 C.call(A); // C打电话给A A.pickup(C); // A接电话C的电话,通话开始 A.hangup(C); // A挂断C的电话,通话结束 C.send(A); // C发送短信给A A.receive(C); // A收到C的短信 B.send(C); // B发送短信给C C.receive(B); // C接收到B的短信 return 0; } 要求此主函数对应的输出结果,与以下输出结果基本一致: 80825 给 80600 打电话,等待连接 80600 电话响 80600 接电话,通话开始 80825 挂断电话 80825 和 80600 通话结束 80241 给 80825 打电话,等待连接 80825 电话响 80825 接电话,通话开始 80825 挂断电话 80825 和 80241 通话结束 80241 向 80825 发送短信 80825 有新短信 80825 接收到 80241 的短信 内容:开会中! 80600 向 80241 发送短信 80241 有新短信 80241 接收到 80600 的短信 内容:速回电! 练习题1 一、单项选择题(每小题2分,共计40分) 1、C 2.C 3、A 4、D 5、B 6、A 7、A 8、D 9、B 10、B 11、D 12.D 13、D 14、D 15、A 16、A 17、B 18、A 19、C 20、A 二、判断题(每小题1分,共计6分) FFFTTT 三、阅读程序,写输出结果(每小题4分,共计24分) 1.结果:6 2.结果:36 3.结果: volume of a[0] is 24 volume of a[1] is 40 volume of a[2] is 42 4.结果:Base called! Base called! 5.结果:Base called! Derived called! 6.结果:Father created! Sun created! Sun destroyed! Father destroyed! 四、编程题(共计30分) 1. 设计一个电话Phone类,保护属性:电话号码 string number, 公有动作:打电话call ,来电响铃ring,接电话pickup,挂电话hangup。(类的格式 2分) 要求:1) Phone创建对象时,通过参数传递方式,number得到初始化(3分) 2) A电话给B电话打电话,要在call函数中输出A号码给B号码打电话的信息,并引起 B电话来电响铃。(3分) 3)B电话来电响铃,要在ring函数中输出B号码电话响的信息。(2分) 4)B接电话,要在pickup函数中输出B号码接电话和通话开始的信息。 (3分) 5)A挂电话,要在hangup函数中输出A号码挂电话的信息,并输出A号码和B号码通话结束的信息。如果B挂电话,也一样输出B号码挂电话的信息,并输出A号码和B号码通话结束的信息。 (3分) 2. 设计一个移动电话CellPhone类,它公有继承自Phone类。CellPhone类新添加的私有属性:短信内容string message, 新添加的公有动作:发短信send ,短信提示shortring,收短信receive。(类的格式 2分) 要求:1) CellPhone创建对象时,number 和message均得到初始化(4分) 2) A电话给B电话发短信,要在send函数中输出A号码向B号码发送短信的信息,并引 起B电话短信提示。(3分) 3)B电话短信提示,要在shortring函数中输出B号码有新短信的信息,表示提示。(2分) 4)B电话接收短信,要在receive函数中输出B号码接收到A号码的短信的信息,并输出 信息内容。(3分) 参考程序: #include #include using namespace std; class Phone { public: Phone(string n); void call(Phone & p); void ring(); void pickup(Phone & p); void hangup(Phone & p); protected: string number; //号码 }; Phone::Phone(string n) { number = n; } void Phone::call(Phone & p) { cout<
本文档为【c++期末复习题1及答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_687519
暂无简介~
格式:doc
大小:109KB
软件:Word
页数:11
分类:
上传时间:2011-12-02
浏览量:48