自考 C++ 杂记 —— 动态分配内存与构造析构、类与对象、类的继承和派生、

动态分配内存

 

1.若有定义int *p=new int(0),则下列说法正确的是( )。

D.通过运算符new,分配一个整型数据的存储空间,并将其内存地址赋予指针变量

int *p=new int(0)的含义是通过运算符new,分配一个整型数据的存储空间,并将其内存地址赋予指针变量p。

 

2.以下有关构造函数的叙述中,错误的是( )。

C.在一个类中构造函数有且仅有一个

构造函数的函数名与结构同名,专门用于初始化结构的对象的函数;构造函数在定义对象时自动执行;构造函数可以在类体内声明在类体外实现。构造函数可以有参数、可以重载、因此可以有多个构造函数。

 

4.下列关于delete运算符的描述中,错误的是

A.它必须用于new返回的指针

B.对一个指针可以使用多次该运算符

C.它也适用于空指针

D.指针名前只用一对方括号,不管所删除数组的维数

【答案】C

【解析】new与delete是配对使用的,delete必须用于new返回的指针。删除一个指针p(delete p;)实际意思是删除了p所指的目标(变量或对象等),释放了它所占的堆空间,而不是删除p本身(指针p本身并没有撤销,它自己仍然存在,该指针所占内存空间并未释放),释放堆空间后,p成了空指针。delete不能用于空指针,空指针说明已经被释放了。

【知识点】delete运算符

 

5.对于int*pa[5];的描述中,正确的是

D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针

隐藏答案

【答案】D

【解析】int *pa[5]中pa是一个具有5个元素的指针数组,每个元素是一个int型指针。int(*pa)[5]中pa是一个指向数组的指针,所指向的数组是5个int型元素。

【知识点】指针数组

 

类与对象

 

1.以下有关类与对象的叙述中,错误的是( )。

D.只要是某个类的对象,那么该对象就可以访问这个类的所有成员

类是具有相同的属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和操作两个主要部分。对于一个具体的类,它有许多具体的个体,这些个体叫作“对象”。每个类的属性和操作分为私有和公有两种类型,对象的外部只能访问对象的公有部分,而不能直接访问对象的私有部分。

 

2.关于对类的描述中,错误的是( )。

C.类就是C语言中的结构类型

类是具有相同的属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和操作两个主要部分。 类是一种用户自己构造的数据类型,但不是C语言中的结构类型;类要先声明后使用、是具有唯一标识符的实体;类是创建对象的样板。

 

3.下面关于对象概念的描述中错误的是( )。

A.任何对象都必须有继承性

继承是一个类可以获得另一个类的特性的机制,支持层次概念,通过继承,低层的类只需定义特定属于它的特征,而共享高层的类中的特征。类是具有相同的属性和操作的一组对象的集合,对象是属性和方法的封装体,对象间的通信靠消息传递。

 

1.友元函数的主要作用是( )。

A.提高程序的效率

类友元函数应被看作类的接口的一部分,使用它的主要目的是提高效率,因为它可以直接访问对象的私有成员,从而省去调用类的相应成员函数的开销。

 

1.在C++中,字符型数据在内存中的存放形式为( )。

C.ASCII

在C++和C语言中,字符型数据在内存中的存放形式为ASCII码。

 

1.C++语言的跳转语句中,对于break和continue说法正确的是( )。

B. continue语句只应用于循环体中

break语句用于switch语句和循环体中,用于退出switch语句或退出循环;continue语句只应用于循环体中,用于提前结束本次循环。C++中的无条件跳转语句时goto。


1.以下关于运算符重载的描述中,错误的是( )。

D. 成员运算符比友元运算符多一个参数

C++的任何运算都是通过函数来实现的,运算符重载其实就是函数重载,这就是运算符重载的实质。

C++中关键字operator和运算符连用就表示一个运算符函数。

类运算符比友元运算符少一个参数,这是因为类运算符函数作为成员函数时具有this指针。

C++中类运算符的表达形式:

C++中友元运算符的表达形式:

 

1.源程序文档化要求程序应加注释,注释一般分为序言性注释和 __功能性注释__。

1.重载函数必须有不同的__形参列表__。

1.在C++中输入输出是通过流来完成的,输出操作是将一个对象的状态转换成一个___字符__序列。

1.this指针保证每个对象拥有自己的数据成员,又共享处理这些数据成员的__代码__。

1.所谓“引用”就是将一个新标识符和一块已经存在的_存储区域_相关联,通常用于函数的参数表中或者作为函数的返回值。

1.C++为结构动态分配内存的一般格式是“指针名=__new 结构名_;”当不再使用这个空间时必须用“delete指针名;”释放空间。 

1.C++程序中使用string类定义存储字符串的对象时,必须在程序中包含这个类的头文件,即使用语句_#include__。

一、类的继承和派生

 

2.C++类体系中,不能被派生类继承的有( )。

B.构造函数

构造函数和析构函数是不被继承的,所以一个派生类只能调用它的直接基类的构造函数,当定义派生类的一个对象时,首先调用基类的构造函数,对基类成员进行初始化,然后执行派生类的构造函数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值