10非计算机C++复习题.doc_第1页
10非计算机C++复习题.doc_第2页
10非计算机C++复习题.doc_第3页
全文预览已结束

下载本文档

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

文档简介

考生班级_学生学号:学生姓名:_内蒙古科技大学2009/2010学年第二学期C+程序设计复习题考试时间:16周一、 填空:、在每个C+程序中都必须包含有这样一个函数,该函数的函数名为( )用运算符new建立一个float类型数组个元素。C类定义中,数据成员和成员函数默认权限为(私有 )。大多数情况下,类定义中的数据成员定义为(私有 )权限,成员函数定义为(共有)权限。构造函数在(创建对象)时被调用。拷贝构造函数在(返回值是对象,对象作为了参数,已存对象创新对象)时被调用。构造函数( 是 )可以有参数,析构函数(否 )可以有参数?(填是或否)若在一个文件内,多个函数具有一个函数名的情况称为(重载 )。但其形参(类型 )或者(个数 )必须不同。C+ +语言支持多态性,分为( 静态 )多态和( 动态 )多态。构造函数( )可以是虚函数,析构函数( )可以是虚函数?(填是或否)11公有继承时,派生类对象可访问基类( )成员;派生类成员函数可访问基类()成员?12在C+语言中,每个成员函数都有一个隐含的指针叫做( ) 指针。13如果一个派生类有多个基类,则这样的继承关系称为( )。如果一个派生类只有一个唯一的基类,则这样的继承关系称为( )。二、选择题:1、C继承中,基类中数据成员常定义权限为( ),派生类访问最不方便。 A. public B. protected C. private2、下列关于类和对象的叙述中,不正确的是( C ) B.对象是类的具体实例C.一个类只能有一个对象 D.抽象类不能创建对象3、在C+中,能实现动态多态性的是( )A.内联函数B.友元函数 C.模板函数D.虚函数4下列关于C+函数的说明中,正确的是( )A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是return语句C.标准C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式5、在C+中,用于实现编译时多态性的是( )A.内联函数B.友元函数 C.重载函数D.虚函数6、下列关于虚函数的说明中,正确的是( )A.从虚基类继承的函数都是虚函数 B.虚函数可以是静态成员函数C.通过基类指针或引用调用虚函数 D.抽象类中的成员函数都是虚函数7、下列构造函数不具备的特征是( D )。A.构造函数的函数名与类名相同 B.构造函数可以重载C.构造函数可以设置默认参数 D.构造函数必须指定类型说明8、有关析构函数的说法不正确的是( )。A.类中析构函数有且仅有一个 B.析构函数和构造函数一样可以有形参C.析构函数可以有函数类型 D.析构函数可以有返回值9、双目运算符重载函数,用友元函数实现时应该有()个参数? A一个 B两个 C三个 D没有10、在关键字public:继承方式中,派生类对象能访问基类( ),派生类成员函数可以访问基类的( )A.私有成员 B. 保护成员 C. 公有成员 D. 任意成员三、填出以下程序结果:(1、 #include iostream.h void f1(int i) i+=10; void f1(float& i) i+=10; void main() int i=100, float j=10; f1(i); couti isiendl; f1(j ); coutj isjendl; #include class point int x,y;public: void init(int x1,int y1) x=x1; y=y1; int x_cord() return x; int y_cord() return y; ;void main() point data3; for(int i=0;i3;i+) datai.init(i, i+1); coutn datai.x=datai.x_cord(); cout datai.y=datai.y_cord(); #include class studentint shours;int gpa;public:student()coutconstructing student.endl;shours=60; gpa=6; student()coutdestructing student.endl;class teacherpublic:teacher()coutconstructing teacher .endl; teacher()coutdestructing teacher.endl;void main()student stu1; teacher tea1; coutend in mainendl;#include class B1 public: B1(int i) cout”constructing B1 ”iendl; B1( ) cout”destructing B1”endl; ; class B2 public: B2(int j) cout”constructing B2 ”jendl; B2( ) cout”destructing B2”endl; ; class C: public B2, public B1 public: C( int a, int b, int c, int d ):B1(a), memberB2(d), memberB1(c), B2(b) private: B1 memberB1; B2 memberB2 ; void main( ) C obj( 1, 2, 3, 4 ); 5#include iostream.hclass base int i; public: base(int i1) i=i1;void output() /virtual 第二次读程序改为虚函数 cout”i=”iendl;class D1:public basechar ch;public: D1(char c1, int c2) :base(c2)ch=c1;void output()base:ouput()

温馨提示

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

评论

0/150

提交评论