欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C++考试试题答案.docx

    • 资源ID:4606023       资源大小:20.36KB        全文页数:14页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++考试试题答案.docx

    1、C+考试试题答案面向对象程序设计考试试题答案一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。每小题1分,共20分)1 面向对象程序设计将数据与_a_放在一起,作为一个相互依存、不可分割的整体来处理。A.对数据的操作 B.信息C.数据隐藏 D.数据抽象2. _a_不是面向对象系统所包含的要素。A.重载 B.对象C.类 D.继承3. 按照标识符的要求,_a_符号不能组成标识符。A.连接符 B.下划线C.大小写字母 D.数字字母4. 已知ch是字符型变量,下面正确的赋值语句是_b_。A.ch=123; B.ch=xff;C.ch=08; D.ch=”;5.

    2、 要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用_a_。A.内联函数 B.递归调用C.重载函数 D.嵌套调用6. _c_的功能是对对象进行初始化。A.析构函数 B.数据成员C.构造函数 D.静态成员函数7. 在下列关键字中,用以说明类中公有成员的是_a_。A.public B.privateC.protected D.friend8. _D_无返回类型,但又有return语句。A.虚函数 B.内联函数C.友元函数 D.类型转换函数9. 类模板的使用实际上是将类模板实例化成一个具体的_A_。A.类 B.对象C.函数 D.模板类10. 利用友元函数重载“”运算符,第2个参数必须为

    3、_c_。 A.指针 B.对象C.引用 D.无值11. 用成员函数重载二元运算符,则显式调用方式为_C_。A.obj1.operator(obj2) B.operator(obj1,obj2)C.obj1.operator( ) D.obj1obj212. 通常拷贝构造函数的参数是_c_。A.某个对象名 B.某个对象的成员名C.某个对象的引用名 D.某个对象的指针名13. 已知一个类A,_B_是指向类A成员函数的指针。假设类有三个公有成员:void f1(int),void f2(int)和int a。A.A *p B.int A:*pc=&A:aC.void A:*pa D.A *pp14.

    4、用struct定义类,若它的成员缺省段约束符的说明,其成员是_b_的成员。A.私有段 B.公有段C.特殊段 D.保护段15. 下列定义中,_A_是定义指向数组的指针p。A.int *p5 B.int (*p)5C.(int *)p5 D.int *p16. C+中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系 统的运行;另一种是通过_c_,派生出新的类。A.复用 B.单继承C.继承 D.多继承17. 派生类的对象对它的基类成员中_A_是可以访问的。A.公有继承的公有成员 B.公有继承的私有成员C.公有继承的保护成员 D.私有继承的公有成员18. 说明静态成员函数的关键字为_a_。A

    5、.static B.virtualC.friend D.void19. 下列运算符中,_c_运算符在C+中不能重载。A.?: B.+C.- D. E.( ) 3. 对一元运算符进行重载后,正确的显式调用方式有_BD_。A.a B.operator(a) C.abD.a.operator( ) E.a4. 关于构造函数,正确的描述有_。A.可以是虚函数 B.可以有参数 C.可以被继承D.可以重载 E.可以显式调用5. C+的模板有_DE_模板。A.运算符 B.数据 C.类型D.类 E.函数三、名词解释(每小题2分,共8分)1. 封装性:封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机

    6、的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过 外部接口,一特定的访问权限来使用类的成员。2. 类:实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。3. 构造函数:是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 特别的一个类可以有多个构造函数 可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载4. 内联函数:,内联函数

    7、(有时称作在线函数或编译时期展开函数)是一种编程语言结构,用来建议编译器对一些特殊函数进行内联扩展(有时称作在线扩展);也就是说建议编译器将指定的函数体插入并取代每一处调用该函数的地方(,从而节省了每次调用函数带来的额外时间开支。四、判断分析题(判断正误,将正确的划上“”,错误的划上“”,并简述理由。每小题3分,共12分)1. 空类就是没有名字的类。错。空类是没有任何成员的类2 引用类型和指针类型作为函数的形式参数时,对调用函数的实际参数的要求是一样的,均是地址。错3. 在派生类中,若基类的一个成员在派生类中也把相同名字定义为一个成员, 则不可调整它的访问。错。因为基类构造函数的调用顺序是按照

    8、派生类定义时的顺序,而内嵌对象构造函数调用顺序应该按照成员在类中声明的顺序.两种都可以控制4. 对象数组在创建时要求构造函数不能有任何参数。错。静态数据成员是一个类的多个对象共享的五、读程序、得结果(每小题5分,共20分)1. #include class A int a; public: void seta(int x)a=x; void showa()coutaendl; ; class B int b; public: void setb(int x)b=x; void showb()coutbendl; class C:public A, private B int c: public

    9、: void setc(int x,int y,int z)c=z;seta(x);setb(y); void showc()coutcendl;main() C c; c.seta(1); c.showa(); c.setc(1,2,3); c.showc(); 以上程序的执行结果是_3_。2. #include class csample private: int i ; static int k;public: csample();void display();csample:csample()i=0;k+;void csample:display()cout”i=”i”,k=”kend

    10、l;int csample:k=0;main() csample a,b;a.display();b.display();以上程序的执行结果是_i=0,k=2I=0,k=2_。_。3. #include class sample int x;public:void setx(int i)x=i;int putx()return x;main() sample *p;sample A3;A0.setx(5); A1.setx(6); A2.setx(7); for(int j=0;j3;j+)p=&Aj;coutputx()” ”;coutendl;以上程序的执行结果是_567_。4. #inc

    11、lude static int dys =31,28,31,30,31,30,31,31,30,31,30,31;class date int mo,da,yr;public:date(int m,int d,int y)mo=m,da=d;yr=y; date()void disp()coutmo”/”da”/”yrdysdt.mo-1) day-=daysdt.mo-1; if(+dt.mo=13)dt.mo=1;dt.yr+;dt.da=day;return dt; ;main() date d1(2,10,2001),d2;d2=d1+20;d2.disp( );以上程序的执行结果是_

    12、3/2/2001_。六、编程题(每小题15分,共30分)1. 用模板设计一个堆栈类,包含判栈、读栈、入栈和出栈功能,要求用成员函数重载“()”实现判栈功能,用友元函数重载“-”实现出栈功能。重载“-”为出栈?“”?判栈有判空和判满。#includeusing namespace std;template class Stack private: int size; int top; T *space; public: Stack(int n); Stack() delete space; void push( T t); friend ostream& operator(ostream& ou

    13、t,Stack &st) while(!(st.operator()() out st.spacest.top+endl; return out; bool operator ()() const return top = size; bool Isfull() const return top = 0; ;template Stack:Stack(int size) this-size = size; top = size; space = new T size;template void Stack:push(T t) if(!Isfull() space-top = t;int main

    14、() Stacks(20);/可以指定栈的大小 s.push(1); s.push(2); s.push(3); s.push(4); s.push(5); s.push(6); couts;这个没问题,如果是重载 - 改为:#includeusing namespace std;template class Stack private: int size; int top; T *space; public: Stack(int n); Stack() delete space; void push( T t); friend Stack & operator -(Stack &st) wh

    15、ile(!(st.operator()() cout st.spacest.top+endl; bool operator ()() const return top = size; bool Isfull() const return top = 0; ;template Stack:Stack(int size) this-size = size; top = size; space = new T size;template void Stack:push(T t) if(!Isfull() space-top = t;int main() Stacks(20);/可以指定栈的大小 s.

    16、push(1); s.push(2); s.push(3); s.push(4); s.push(5); s.push(6); -s;但是这个在VC下不行,在codeblocks下使用mingw32-g+.exe可以正常编译执行,运行截图: 请参考2. 利用基类、派生类和虚函数的概念编写一个程序计算三角形、矩形和圆形的面积。#include const double PI = 3.1415926;using namespace std;struct Point Point() x = y = 0; Point(double X, double Y) :x(X), y(Y); double x;

    17、 double y;class shape public: virtual double GetArea()=0; / 虚函数,纯虚函数,图形不具体的话,无法求面积 virtual void Print()=0; / 虚函数,纯虚函数,图形不具体的话,无法输出面积;/ 三角形类,继承自图形类class trigon : public shape public: trigon(Point &A, Point &B, Point &C) : a(A), b(B), c(C); trigon(); double GetArea() / 自己找公式吧,根据三点计算面积的 area = 0; retur

    18、n area; void Print() cout 三角形【( a.x , a.y ):( b.x , b.y ):( c.x , c.y )】的面积是: GetArea() endl; private: trigon(); Point a, b, c; / 三角形三个点 double area; / 面积;/ 矩形类,继承自图形类class rect : public shape public: rect(double &Top, double &Bottom, double &Left, double &Right) : top(Top), bottom(Bottom), left(Lef

    19、t), right(Right) / 填充四个点的坐标 pa.x = Left; pa.y = Top; pb.x = Left; pb.y = Bottom; pc.x = Right; pc.y = Top; pd.x = Right; pd.y = Bottom; ; rect(); double GetArea() / 计算矩形面积 / return (right - left) * (bottom - top); void Print() cout 矩形【( pa.x , pa.y ):( pb.x , pb.y ):( pc.x , pc.y ):( pd.x , pd.y )】的

    20、面积是: GetArea() endl; private: rect(); Point pa, pb, pc, pd; / 矩形左上、左下、右上、右下四个点坐标 double top, bottom, left, right; / 矩形上下左右四个线的坐标线 double area; / 面积;/ 圆形类,继承自图形类class circle : public shape public: circle(Point &C, double &R) : c(C), r(R) ; circle(); double GetArea() / area = PI * r * r; return area; void Print() cout 圆形【 c.x : c.y : r 】的面积是: GetArea() Print(); pS = &Rect; pS-Print(); pS = &Circle; pS-Print(); return 0;


    注意事项

    本文(C++考试试题答案.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开