职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 3931|回复: 2

给要考C++的朋友一些学校里面的C++考试题

[复制链接]
joe 发表于 2007-1-8 21:52 | 显示全部楼层 |阅读模式
2004-2005学年第二学期《C++程序设计教程》考试试卷(A)
题号        一        二        三        四        五        六        总 分


分数                                                       
一、选择题(每题2分,共40分)
得分       
评卷人       
1.C++对C语言作了很多改进,即从面向过程变成为面向对  
象的主要原因是 (  )
    A.增加了一些新的运算符       B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型   D.引进了类和对象的概念     
2.重载函数在调用时选择的依据中,错误的是(  )
   A.函数的参数                  B.参数的类型
   C.函数的名字                  D.函数的类型                    
3.下列不是描述类的成员函数的是 (  )
   A.构造函数                  B.析构函数
   C.友元函数                  D.拷贝构造函数
4.构造函数不具备的特征的是 (  )
   A.构造函数的函数名与类名相同   B.构造函数可以重载
   C.构造函数可以设置默认参数     D.构造函数必须指定类型说明
5.通常,拷贝构造函数的参数是(  )
   A.某个对象名                  B.某个对象的成员名
   C.某个对象的引用名            D.某个对象的指针名  
6. C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过(     )派生了新的类。
   A.复用          B.继承        C.封装      D.引用
7.类的析构函数的作用是 (  )
    A.一般成员函数                B.类的初始化
    C.对象的初始化                D.删除对象创建的所有对象
8.类的析构函数是在(  )调用的。
    A.类创建时                   B.创建对象时
    C.删除对象时                 D.不自动调用     
9.如果类A被说明成类B的友元,则(  )
    A.类A的成员即类B的成员           B.类B的成员即类A的成员
    C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元      
10.在公有继承的情况下,基类成员在派生类中的访问权限(  )
A.受限制      B.保持不变     C.受保护     D.不受保护
11. C++类体系中,不能被派生类继承的有( )
     A.转换函数             B.构造函数
     C.虚函数               D.静态成员函数                        
12. 假定AB为一个类,则执行AB x;语句时将自动调用该类的( )
      A.有参构造函数          B.无参构造函数
      C.拷贝构造函数          D.赋值构造函数                             
13、每个类( )构造函数。
       A.只能有一个           B.只可有公有的         
C.可以有多个           D.只可有缺省的
14.下面四个选项中,(    )是用来声明虚函数的。
A. virtual     B. public    C. using    D. false
15. 编译时的多态性可以通过使用(   )获得。
A.虚函数和指针            B.重载函数和析构函数
C.虚函数和对象            D.虚函数和引用
16.下列描述中,(    )是抽象类的特征。
A.可以说明虚函数           B.可以进行构造函数重载
C.可以定义友元函数         D.不能说明其对象
17.以下(  )成员函数表示虚函数。
A. virtual int vf(int);   B.void vf(int)=0;
C. virtual void vf()=0;   D.virtual void vf(int) { };      
18. 子类不能继承基类中的哪种成员?(    )
       A. public                B. protected            
  C. private               D.virtual
19.在C++中,对于基类的protected成员,当以protected方式派生一个新类时。该成员将成为派生类的_____成员。
      A. private    B.protected    C.public    D.非法  
20.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(      )
   A.类           B.对象            C.函数体        D.数据块         
二、填空题(每题2分,共20分)
1.当建立_______,程序自动调用该类的构造函数。
  2.静态成员是对象的成员,_______函数不是类的成员。
  3.使用友元函数是为了提高程序效率,且节约了_______开销。
  4.C++的类定义中,有两个特殊的成员函数,其中—个的作用是初始化该类的新对象,这个成员函数称为_______。
  5.静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是_________。
6.在公有派生中基类的公有成员在派生类中________________;基类的______________________成员在派生类中仍然是不可访问的。
7.分析构造函数以调用构造函数_____________  被调用。
8.这种在运行时,能依据其类型确认调用哪个函数的能力,称为_____________。
9.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为__________。
三、综合题(  40分)
1.友元函数、成员函数和全局函数的差别是什么?(10分)






2.定义一个基类有姓名、性别、年龄,再由基类派生出教师类和学生类,教师类增加工号、职称和工资,学生类增加学号、班级、专业和入学成绩。(10分)











3 .完成下面类中的成员函数的定义。(5分)
      class test{
               private:  int num; float x;
               public:   test(int n,float f);
                        test(test&);
               };               
       test::test(int n,float f)                          
        {num=n; _______; }
        test::test(text& t)
        {     _______;  x=t.f; }               
4 .填上合适的字句,使程序的最终结果为200。(5分)
   #include <iostream.h>
      class number{   public:
                     number(int i){val=i;}
                        _______int(  );
                    private: int val;
                  };   
         number:perator int ( ){_______}
class num: public number {  public:
                                 num(int i): number(i){  }
                             };
     void main( )                  
        { num n(100);  int i=n;
           cout<<i+n<<endl;            
         }      
         
              
5、分析下列程序可能的输出结果。(满分10分)
     class test{
             public :  test( ) {return num;}
~test (  );
private:  int num;   
             };           
        test::test(  ){num=0;}
        test::~test( )  {cout<<″Destructor is active″<<endl;}
     void main( )
            {   test x[3];
               cout<<″Exiting main″<<endl;
             }
                       

更多试题请下载附件.

c++试卷.rar

141 KB, 下载次数: 285, 下载积分: 生活币 -1 个

mackelbjackson 发表于 2007-3-11 16:54 | 显示全部楼层
嘛也不说了,谢谢
hxy 发表于 2011-7-29 10:03 | 显示全部楼层
我帮不了你
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-20 14:59 , Processed in 0.139832 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表