C++练习试卷1及参考答案_第1页
C++练习试卷1及参考答案_第2页
C++练习试卷1及参考答案_第3页
C++练习试卷1及参考答案_第4页
C++练习试卷1及参考答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

C+练习试卷1及参考答案一、填空题(每小题2分,共16分)1. 任何一个对象都应当具有这两个要素,即 和 ,它能根据外界给的信息进行相应的操作。 2. 封装可以使得程序中各部分之间的相互影响达到最小,并且提高程序的 性。3继承可以让程序员 父类的代码,专注于子类编写新代码。4 型成员和 型成员具有被继承性,而 型成员不具有被继承性。5一旦一个函数在基类中被定义为虚函数,那么它在派生类中就被认为是虚函数,不需再在派生类中用 关键说明。6纯虚函数的声明形式是在虚函数声明形式后跟 。7函数与模板函数同名时,哪一个优先被调用? 。8异常使用三部曲:框定异常( 语名块)、定义异常处理( 语句块)、抛掷异常( 语句)。二、单项选择题(每小题2分,共20分)1、在int a=3,*p=&a;中,*p的值是()。A. 变量a的地址值 B. 无意义 C. 变量p的地址值 D. 32、以下4个选项中,不能看作一条语句的是( )。A. if(b=0) m=1;n=2; B. a=0,b=0,c=0; C. if(a0); D. ;3、()不是构造函数的特征。A. 构造函数的函数名与类名相同 B. 构造函数可以重载C. 构造函数可以设置缺省参数 D. 构造函数必须指定类型说明4、关于成员函数特征的下列描述中,()是错误的。A. 成员函数一定是内联函数 B. 成员函数可以重载C. 成员函数可以设置缺省参数值 D. 成员函数可以是静态的5、有以下程序#include void main( ) int i,s=0;for(i=1;i10;i+=2) s+=i;couts;程序执行后的输出结果是( )。 A. 自然数19的累加和 B. 自然数110的累加和 C. 自然数19中的奇数之和 D. 自然数110中的偶数之和6、编译时多态性通过使用( )获得。A.构造函数 B.虚函数 C.重载函数 D.析构函数7、有以下程序#include void main( ) char *p10=abc,aabdfg,dcdbe,abbd,cd;coutp3endl;执行后输出结果是 A. dcdbe B. abbd C. abc D. abb8、下列静态数据成员的特性中,()是错误的。A. 说明静态数据成员时前边要加修饰符staticB. 静态数据成员要在类体外进行初始化C. 静态数据成员不是所有对象所共用的D. 引用静态数据成员时,要在其名称前加和作用域运算符9、有以下语句struct S int g; char h; T;则下面叙述中不正确的是( )。 A. S是结构体名 B. 该结构体包含2个成员 C. S是struct类型的变量 D. T是struct S类型的变量10、实现运行时的多态性用( ) 。A. 重载函数 B.构造函数 C.析构函数 D.虚函数三、简述题(9分)简述面向对象程序设计的基本思想、方法和步骤。四、阅读程序,写出运行结果(每小题7分,共35分)试卷第 7 页 共 8 页1(7分)#includevoid main()int x=10;int &y=x;coutx=x,y=yendl;x+;coutx=x,y=yendl;y+;coutx=x,y=yendl; 2(7分)=#includeclass pointprivate:int x,y;public:point( )cout”构造函数1被调用!n” ;point(int xx,int yy) x=xx;y=yy;cout”构造函数2被调用”endl;point(point &p);int GetX()return x;int GetY()return y;point:point(point &p) x=p.x;y=p.y;cout”拷贝构造函数被调用”endl;void main()point A(4,5),B;point C(A);coutC.GetX()endl; 3(7分)=#includeclass Sampleprotected:int x;public:Sample()x=0;Sample(int val)x=val;void operator+()x+;class Derived:public Sample int y;public:Derived():Sample()y=0;Derived(int val1,int val2):Sample(val1)y=val2;void operator-()x-;y-;void disp() coutx=x,y=yendl;void main() Derived d(3,5); d.disp(); d+; d.disp(); d-; d+; d.disp();4. (7分)=# include class base public: virtual int func () return 0; ;class derived: public base public:int func() return 100; ;void main() derived d;base b;cout b.func() endl;coutd.func()endl;cout d.base:func() endl;5(7分)=#include class STpublic: ST()cout”constructing”endl; ST()cout”destructing”endl; void main() ST st;try cout”exception start”endl;throw H; catch(int) coutint exception.n; catch(char c) coutchar exception.ncendl; cout”exception end”endl;coutThats ok.n;五、阅读下列程序,添上一个拷贝构造函数来完善整个程序,然后写出运行结果。(10分)#includeusing namespace std;class CATint* itsAge;public: CAT():itsAge(new int(5); CAT()delete itsAge; int GetAge() const return *itsAge; void SetAge(int age) *itsAge=age;int main()CAT frisky; coutfriskys age: frisky.GetAge()endl; coutSetting frisky to 6n; frisky.SetAge(6); coutCreating boots from friskyn; CAT boots(frisky); coutfriskys age: frisky.GetAge()endl;coutboots age:boots.GetAge()endl;coutsetting frisky to 7n; frisky.SetAge(7); coutfriskys age: frisky.GetAge()endl;六、编程题(10分)设有下列类声明:class A public: A() n=new int; init(); private: int n;写出init()引发异常的处理程序。C+练习试卷1参考答案及评分标准一、填空题(每小题2分,共16分)1. 属性 操作 2. 安全 3. 重用 4. 公有 保护 私有 5 virtual 6. =0 7. 函数 8. try catch throw 二、单项选择题(每小题2分,共20分)题号12345678910答案DADACCBCDD三、简述题(9分)基本思想(+3分)方法:抽象与分类(+2分)步骤:1.找出类(+1分) 2.描述类与类之间的关系(+1分) 3.用类来界定抽象层次,从而组织程序结构(+2分)。四、阅读程序,写出运行结果(每小题7分,共35分)1X=10,y=10 (+2分) X=11,y=11 (+2分) X=12,y=12 (+3分)2 构造函数2被调用 (+2分)构造函数1被调用 (+2分)拷贝构造函数被调用 (+2分)4 (+1分) 3X=3,y=5 (+2分)X=4,y=5 (+2分)X=4,y=4 (+3分)4. 0 (+3分)100 (+3分)0 (+1分)5. constructing (+1分) exception start (+1分) char exception. (+1分)H (+1分)exception end (+1分) Thats ok. (+1分) Destructing (+1分)五、阅读下列程序,添上一个拷贝构造函数来完善整个程序,然后写出运行结果。(10分)拷贝构造函数如下:(+3分)CAT(CAT& c)int age=*(c.itsAge);itsAge=new int(age);或CAT(CAT& cat1) itsAge=new int; *itsAge=*(cat1.itsAge);运行结果: friskys age: 5 (+1分) setting frisky to 6 (+1分) creating boots from frisky (

温馨提示

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

评论

0/150

提交评论