填空题集1.对象的核心概念就是通常所说的继承、封装和多态性。2.函数的声明、定义和调用称为函数三步曲。3.Cin后面的符号是:,cout后面的符号是:。4.面向对象的英文缩写是:OOP。5.已知X=2,y=3,xy的值是:true。6.C语言中printf命令在c++中改用:cout。7.C语言中scanf命令在c++中改用:cin。8.#includeiostream.h命令中,include的意义是:包含头文件。9.C++语言中的每条基本语句以;作为结束符,每条复合语句以{}作为结束符。10.执行coutchar('A'+2)endl;语句后,得到的输出结果为C。11.float和double类型的大小分别为4和8。12.假定一个一维数组的定义为chara[8];则该数组所含元素的个数为8,所占存储空间的字节总数为8。13.变量分为全局和局部两种,变量没有赋初值时,其值是不确定的。14.对一个类中的数据成员的初始化,可以通过构造函数来实现,也可以通过该类的成员函数来实现。15.假定AB为一个类,则执行ABa(10);语句时,系统自动调用该类的构造函数的次数为1。16.假定AB为一个类,则执行ABa[10];语句时,系统自动调用该类的构造函数的次数为10。17.假定AB为一个类,有类AB的两个对象a1,a2;则执行语句AB*a[10]={&a1,&a2};时系统自动调用该类的构造函数的次数为0。18.假定类AB中有一个公用属性的静态数据成员staticintbb;在类外不通过对象名给该成员bb赋值为10的写法:intAB::bb=10;。19.在面向对象程序设计中,具有相同属性和服务的一组对象的集合称为类。20.在面向对象程序设计中,对象由一组属性(数据)和一组服务(操作)构成。21.类成员的三种访问控制属性是:公有(public)、保护(protected)、私有(private)。22.在类内部定义的公有(public)数据可以在类外进行存取,但保护(protected)数据和私有(private)数据不能在类外直接存取。23.在OOP中,当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,基类的私有成员不可访问。24.一个C++源程序按结构一般划分为三种文件,分别是:类说明文件、类实现文件和类的使用文件。25.在已经定义了整型指针ip后,为了动态得到一个包括10个整数的数组并由ip所指向,应使用语句ip=newint[10]。26.在一个类中可以定义多个构造函数,1个析构函数。27.在用class定义一个类时,数据成员和成员函数的默认访问权限是私有。28.在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。29.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义析构函数。30.当建立一个新对象时,程序自动调用构造函数。31.类的私有成员只能被它的成员函数和友元函数访问。32.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为~AB(){}。33.一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数。34.在C++中,虚函数帮助实现了类的多态性。35.通过C++语言中类的继承(派生)机制,可以扩充和完善已有类以适应新的需求。36.C++类族中,不能被派生类继承的有构造函数、析构函数。37.定义重载函数时,应保证参数个数或参数类型有所不同。38.运算符重载仍然保持其原来的优先级、结合性和语法结构。39.使用指向对象的指针来标识类的成员,则必须使用的运算符是-。40.拷贝构造函数通常使用对象的引用来初始化创建中的对象。41.在OOP中多态是指同样的消息被不同对象接收时可产生不同的行为;它通过重载和虚函数等技术来实现。42.含有纯虚函数的类称为抽象类。43.定义模板的关键字是template。44.模板定义中标识类型的参数必须用关键字class(或typename)修饰。45.类模板可以使用两种形式的参数,分别是:类型参数和普通参数。46.函数模板既可以与函数模板重载,也可以与普通函数重载。47.从现存类中构建其子类可以通过C++语言中的继承(派生)机制实现。48.C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。49.cin是输入流istream的一个对象,处理标准输入;cout是输出流ostream的一个对象,处理标准输出。50.设要把一个文件输出流对象myFile与文件“f:\myText.txt”相关联,所用的C++语句是:__ifstreammyFile(“f:\\myText.txt”);_。51.C++中ostream类的直接基类是___ios类_____。52.运算符[]只能用___成员___运算符来重载,不能用友元运算符来重载。53.定义虚函数所用的关键字是___virtual__。54.类的继承是指子类继承基类的___数据成员___和成员函数。55.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为__多态性或(类的多态性)__。56.___#include___指令指示编译器将一个源文件嵌入到带该指令的源文件之中。57.设在程序中使用如下语句申请了一个对象数组:Point*ptr=newPoint[2];当要释放ptr指向的动态数组对象时,所使用的语句是__delete[]ptr;_。58.在保护派生中,基类权限为Private的成员在派生类中___不可访问_____。59.类A有如下成员函数:intA::fun(doublex){return(int)x/2;}intA::fun(intx){returnx*2;}设a为类A的对象,在主函数中执行语句ints=a.fun(6.0)+a.fun(2)后的s值为_7__。60.类A有如下成员函数:intA::fun(doublex){return(int)x/2;}intA::fun(intx){returnx*2;}设a为类A的对象,在主函数中执行语句ints=a.fun(6)+a.fun(2.0)后的s值为__13__。61.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的____地址值____。62.在C++中,声明布尔类型变量所用的关键字是____bool____。63.C++语言中可以实现输出一个换行符并刷新流功能的操控符是___endl____。(3)本题的输出结果为:a+b=10,c+d=10.0。一、填空题(25小题,共50分)(以下每小题1分,共10分) 1.在C++中,函数的参数有两种传递方式,它们是值传递和地址或指针或引用传递。 2.当一个成员函数被调用时,该成员函数的this指针指向调用它的对象。 3.在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有作用域分隔符限定时,对此数据成员的访问将出现歧义。 4.拷贝构造函数使用引用作为参数初始化创建中的对象。 5.在公有继承的情况下,基类数据成员在派生类中的访问权限保持不变。 6.描述命题A小于B或小于C的表达式为AB||AC 。 7.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到没有形参的或缺省参数构造函数,否则应用程序会产生一个编译错误。 8.静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象共享。 9.为了避免可能出现的歧义,C++对if…else语句配对规则规定为:else总是与与最近的if配对。 10.设inta=3,b=4,c=5;,表达式(a+b)c&&b==c的值是0。(以下每小题2分,共20分) 11.面向对象的程序设计有四大特征,它们是抽象、封装、继承、多态。 12.在VisualC++中,定义重载函数时,应至少使重载函数的参数个数或参数类型不同;在基类和派生类中,成员函数的覆盖是指派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同。 13.构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、析构函数没有参数、析构函数可以定义为虚函数。 14.动态联编要满足两个条件,它们是被调用的成员函数是虚函数、用指针或引用调用虚函数。 15.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为抽象类,定义该类至少具有一个纯虚函数。 16.在C++类中,const关键字可以修饰对象和成员函数,const对象不能被修改,const成员函数不能修改类数据成员。 17.举出C++中两种用户自定义的数据类型:类、枚举。 18.C++中没有字符串类型,字符串是通过字符数组来表示的,每一个字符串都有一个结尾字符\0。 19.C++中没有输入输出语句,输入输出是通过输入输出库实现的,写出一条打印整型变量n的输出语句:coutn; 20.举出C++中两种代码复用的方式:继承、复用。