c++练习试卷1及参考答案

上传人:第*** 文档编号:34352128 上传时间:2018-02-23 格式:DOC 页数:8 大小:74KB
返回 下载 相关 举报
c++练习试卷1及参考答案_第1页
第1页 / 共8页
c++练习试卷1及参考答案_第2页
第2页 / 共8页
c++练习试卷1及参考答案_第3页
第3页 / 共8页
c++练习试卷1及参考答案_第4页
第4页 / 共8页
c++练习试卷1及参考答案_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《c++练习试卷1及参考答案》由会员分享,可在线阅读,更多相关《c++练习试卷1及参考答案(8页珍藏版)》请在金锄头文库上搜索。

1、试卷第 1 页 共 8 页C+练习试卷 1 及参考答案一、填空题(每小题 2 分,共 16 分)1. 任何一个对象都应当具有这两个要素,即 和 ,它能根据外界给的信息进行相应的操作。 2. 封装可以使得程序中各部分之间的相互影响达到最小,并且提高程序的 性。3继承可以让程序员 父类的代码,专注于子类编写新代码。4 型成员和 型成员具有被继承性,而 型成员不具有被继承性。5一旦一个函数在基类中被定义为虚函数,那么它在派生类中就被认为是虚函数,不需再在派生类中用 关键说明。6纯虚函数的声明形式是在虚函数声明形式后跟 。7函数与模板函数同名时,哪一个优先被调用? 。8异常使用三部曲:框定异常( 语名

2、块) 、定义异常处理( 语句块) 、抛掷异常( 语句) 。二、单项选择题(每小题 2 分,共 20 分)1、在 int a=3,*p=中, *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. 构造函数必须指定类型说明试卷第 2 页 共 8 页4、关于成员函数特征的下列描述中,()是

3、错误的。A. 成员函数一定是内联函数 B. 成员函数可以重载C. 成员函数可以设置缺省参数值 D. 成员函数可以是静态的5、有以下程序#include void main( ) int i,s=0;for(i=1;ivoid main( ) char *p10=abc,aabdfg,dcdbe,abbd,cd;cout和作用域运算符9、有以下语句struct S int g; 试卷第 3 页 共 8 页char h; T;则下面叙述中不正确的是( )。A. S 是结构体名 B. 该结构体包含 2 个成员C. S 是 struct 类型的变量 D. T 是 struct S 类型的变量10、实现

4、运行时的多态性用( ) 。A. 重载函数 B.构造函数 C.析构函数 D.虚函数三、简述题(9 分)简述面向对象程序设计的基本思想、方法和步骤。四、阅读程序,写出运行结果(每小题 7 分,共 35 分)1(7 分)#includevoid main()int x=10;int coutclass pointprivate:int x,y;public:point( )coutclass Sampleprotected:int x;public:Sample()x=0;试卷第 4 页 共 8 页Sample(int val)x=val;void operator+()x+;class Deriv

5、ed:public Sample int y;public:Derived():Sample()y=0;Derived(int val1,int val2):Sample(val1)y=val2;void operator-()x-;y-;void disp() cout class base public:virtual int func () return 0; ;class derived: public base public:int func() return 100; ;void main() derived d;base b;cout class STpublic:ST()cou

6、tusing namespace std;class CATint* itsAge;public:CAT():itsAge(new int(5);CAT()delete itsAge;int GetAge() constreturn *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(f

7、risky);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()引发异常的处理程序。试卷第 6 页 共 8 页C+练习试卷 1参考答案及评分标准一、填空题(每小题 2 分,共 16 分)1. 属性 操

8、作 2. 安全 3. 重用 4. 公有 保护 私有 5 virtual 6. =0 7. 函数 8. try catch throw 二、单项选择题(每小题 2 分,共 20 分)题号 1 2 3 4 5 6 7 8 9 10答案 D A D A C C B C D D三、简述题(9 分)基本思想(+3 分)方法:抽象与分类(+2 分)步骤:1.找出类(+1 分) 2.描述类与类之间的关系(+1 分) 3.用类来界定抽象层次,从而组织程序结构(+2 分) 。四、阅读程序,写出运行结果(每小题 7 分,共 35 分)1X=10,y=10 (+2 分)X=11,y=11 (+2 分)X=12,y=

9、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 分)试卷第 7 页 共 8 页exception start (+1 分)char exception. (+1 分)H (+1 分)exception end (+1 分)Thats ok. (+1 分)Destructing (+1 分)五、阅读下列程序,添上一个拷贝构造函

10、数来完善整个程序,然后写出运行结果。(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 分)friskys age:6 (+1 分)boots age:6 (+1 分)setting age to 7 (+1 分)friskys age :7 (+1 分)试卷第 8 页 共 8 页六、编程题(10 分)init( ) try (+3 分) if n=0 throw “内存申 请失败。 ”; (+3 分)else cout”内存申 请成功。 ”; (+1 分)catch(char* str) (+3 分)coutstrendl;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号