填空题集
1.对象的核心概念就是通常所说的 继承、封装和多态性 。
2.函数的 声明、定义和调用 称为函数三步曲。
后面的符号是: >> ,cout后面的符号是: << 。
4.面向对象的英文缩写是: OOP 。
5.已知X=2,y=3,x<y的值是: true 。
语言中printf命令在c++中改用: cout 。
语言中scanf命令在c++中改用: cin 。
8.#include<>命令中,include的意义是: 包含头文件 。
++语言中的每条基本语句以 ; 作为结束符,每条复合语句以 {} 作为结束符。
10.执行cout<<char('A'+2)<<endl;语句后,得到的输出结果为 C 。
和double类型的大小分别为 4 和 8 。
12.假定一个一维数组的定义为char a[8];则该数组所含元素的个数为 8 ,所占存储空间的字节总数为 8 。
13.变量分为 全局和局部 两种,变量没有赋初值时,其值是不确定的。
14.对一个类中的数据成员的初始化,可以通过构造函数来实现,也可以通过该类的成员函数来实现。
15.假定AB为一个类,则执行AB a(10);语句时,系统自动调用该类的构造函数的次数为 1 。
16.假定AB为一个类,则执行AB a[10];语句时,系统自动调用该类的构造函数的次数为 10 。
17.假定AB为一个类,有类AB的两个对象a1,a2;则执行语句AB *a[10]={&a1,&a2};时系统自动调用该类的构造函数的次数为 0 。
18.假定类AB中有一个公用属性的静态数据成员static int bb;在类外不通过对象名给该成员bb赋值为10的写法: int AB::bb=10; 。
19.在面向对象程序设计中,具有相同属性和服务的一组对象的集合称为 类 。
20.在面向对象程序设计中,对象由一组 属性(数据) 和一组 服务(操作) 构成。
21.类成员的三种访问控制属性是: 公有(public) 、 保护(protected) 、 私有(private) 。
22.在类内部定义的公有(public)数据可以在类外进行存取,但保护(protected)数据和私有(private)数据不能在类外直接存取。
23.在OOP中,当类的继承方式为公有继承时,基类的 公有成员 和 保护成员 的访问属性在派生类中不变,基类的 私有成员 不可访问。
24.一个C++源程序按结构一般划分为三种文件,分别是: 类说明文件 、 类实现文件和类的使用文件。
25.在已经定义了整型指针ip后,为了动态得到一个包括10个整数的数组并由ip所指向,应使用语句 ip=new int[10] 。
26.在一个类中可以定义 多个 构造函数, 1个 析构函数。
27.在用class定义一个类时,数据成员和成员函数的默认访问权限是 私有 。
28.在删除一个动态对象时,将自动调用该动态对象所属类的 析构 函数。
29.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义 析构函数 。
30.当建立一个新对象时,程序自动调用 构造函数 。
31.类的私有成员只能被它的成员函数和 友元函数 访问。
32.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为 ~AB(){ } 。
33.一个抽象类的派生类可以实例化的必要条件是 实现了所有的纯虚函数 。
34.在C++中,虚函数帮助实现了类的 多态 性。
35.通过C++语言中类的 继承(派生) 机制,可以扩充和完善已有类以适应新的需求。
++类族中,不能被派生类继承的有 构造函数、析构函数 。
37.定义重载函数时,应保证 参数个数或参数类型 有所不同。
38.运算符重载仍然保持其原来的 优先级、结合性和语法结构 。
39.使用指向对象的指针来标识类的成员,则必须使用的运算符是 -> 。
40.拷贝构造函数通常使用 对象的引用 来初始化创建中的对象。
41.在OOP中多态是指 同样的消息被不同对象接收时可产生不同的行为 ;它通过 重载 和 虚函数 等技术来实现。
42.含有纯虚函数的类称为 抽象类 。
43.定义模板的关键字是 template 。
44.模板定义中标识类型的参数必须用关键字 class(或typename) 修饰。
45.类模板可以使用两种形式的参数,分别是: 类型参数 和 普通参数 。
46.函数模板既可以与 函数模板 重载,也可以与 普通函数 重载。
47.从现存类中构建其子类可以通过C++语言中的 继承(派生)机制 实现。
++的I/O系统通过 流 的机制实现文件和控制台的输入输出操作。
是 输入流istream 的一个对象,处理标准输入;cout是 输出流ostream 的一个对象,处理标准输出。
50.设要把一个文件输出流对象myFile与文件“f:\”相关联,所用的C++语句是:__ifstream myFile(“f:\\”);_。
51.C++中ostream类的直接基类是___ios类_____。
52.运算符[ ]只能用___成员___运算符来重载,不能用友元运算符来重载。
多态性与虚函数
53.定义虚函数所用的关键字是___virtual__。
54.类的继承是指子类继承基类的___数据成员___和 成员函数 。
55.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为__多态性或(类的多态性)__。
56.___#include___指令指示编译器将一个源文件嵌入到带该指令的源文件之中。
57.设在程序中使用如下语句申请了一个对象数组:Point *ptr=new Point[2];
当要释放ptr指向的动态数组对象时,所使用的语句是__ delete[ ]ptr;_。
58.在保护派生中,基类权限为Private的成员在派生类中___不可访问_____。
59.类A有如下成员函数:
int A::fun(double x){return (int) x/2;}
int A::fun(int x){return x*2;}
设a为类A的对象,在主函数中执行语句int s=a.fun+(2)后的s值为_7__。
60.类A有如下成员函数:
int A::fun(double x){return (int) x/2;}
int A::fun(int x){return x*2;}
设a为类A的对象,在主函数中执行语句int s=a.fun(6)+后的s值为__13__。
61.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的____地址值 ____。
62.在C++中,声明布尔类型变量所用的关键字是____bool____。
63.C++语言中可以实现输出一个换行符并刷新流功能的操控符是___endl____。
64.完成下面类中的成员函数的定义。
class point{
int m,n;
public:
point(int,int);
point(point&);
};
point::point(int a,int b){et()<<″,″<<a[1].get()<<endl;
cout<<ptr->get()<<″,″;
ptr=ptr-1;
cout<<_____ptr->get()___<<endl;
delete[]ptr;
}
68.在下面横线处填上求两个浮点数之差的cha函数的原型声明、定义和调用方法。
#include <iostream>
using namespace std;
void main(){
float a,b;
____float cha(float,float);____//函数cha的原型声明
a=;
b=;
float c=_____ cha(a,b) ____;//调用函数cha
cout<<c<<endl;
}
float cha(float x,float y){ //定义函数cha
float w;
w=x-y;
return w;
}
69.有如下程序段:
class X{
public:
X();
X(int i);
private:
int i;
};
(1)本程序段的功能是: 定义类 。
(2)class X的X表示: X是类名 。
(3)private:表示: 定义私有的成员 。
(4)public: 表示: 定义公有的成员 。
(5){ }内的内容称为: 函数体 。
70.分析以下程序执行的结果,回答问题。
#include<>
int add(int x,int y){return x+y;}
double add(double x,double y){return x+y;}
void main()
{
int a=4,b=6;
double c=,d=;
cout<<"a+b="<<add(a,b)<<",c+d="<<add(c,d)<<endl;
}
(1)本程序中有两个add()函数,这种方法称为: 函数重载 。
(2)两个add()函数的区别: 调用的参数数据类型不同 。
(3)本题的输出结果为: a+b=10,c+d= 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论