new运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空

题目

new运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会自动调用类中的()为对象()

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

对指定类型对象动态分配内存并返回该类型的指针的是使用【 】运算符来完成的。


正确答案:new
new 解析:new运算符对指定类型对象动态分配内存并返回该类型的指针。

第2题:

下列关于delete运算符的叙述中,错误的是( )

A使用delete运算符释放类对象时要调用该类的析构函数

Bdelete运算符可以作用于空指针

C由new运算符分配的动态内存空间必须通过delete运算符释放

D使用delete运算符释放动态分配的单个对象和对象数组的语法格式相同


答案:C

第3题:

关于动态存储分配,下列说法正确的是

A.new 和 delete是C++语言中专门用于动态内存分配和释放的函数

B.动态分配的内存空间也可以被初始化

C.当系统内存不够时,会自动回收不再使用的内存单元,因些程序中不必用delete释放内存空间

D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new


正确答案:B
解析:本题考核动态存储分配。用于动态分配的内存空间称为堆内存,它通常由操作系统进行管理且数量有限,其内存空间可以被初始化。若程序不断分配堆内存,则可能耗尽,在这种情况下,系统无法再对new提出的内存分配请求给予满足,此时 new会返回空指针NULL,表示动态存储分配操作失败,不会造成系统崩溃。在C++程序中由new分配的动态内存空间必须通过delete运算符释放。

第4题:

关于类和对象的说法,不正确的是( )。

A.类是对象的类,对象是类的对象

B.系统不为类分配内存空间,而为对象分配内存空间

C.类和对象一样

D.类可以看作数据类型,对象也可以叫做类的实体、实例等


正确答案:C
解析:对象是类的实例化,类和对象不一样。

第5题:

给出下列的程序代码片段,下列的( )选项是不正确的。 ①public void create(){ ②Vector my; ⑧my=new Vector(); ④}

A.第二行的声明不会为变量my分配内存空间

B.第二行语句创建一个Vector类对象

C.第三行语句创建一个Vector类对象

D.第三行语句为一个Vector类对象分配内存空间


正确答案:B

第6题:

关于new运算符的错误的描述是( )。

A.使用运算符new创建对象数组时必须定义初始值

B.使用运算符new创建对象时,会调用类的构造函数

C.运算符new可以用来动态创建对象和对象数组

D.使用new运算符创建的对象可以使用运算符delete删除


正确答案:A

第7题:

给出下列的程序段,哪个选项是不正确的? ( ) ①public void create(){ ②Vector my; ③my=new Vector(); ④}

A.第二行的声明不会为变量my分配内存空间

B.第二行语句创建一个Vector类对象

C.第三行语句创建一个Vector类对象

D.第三行语句为一个Vector类对象分配内存空间


正确答案:B

第8题:

给出下面的代码段,下面的哪些陈述为真? ( ) public void create() { Vector myVect; myVect=new Vector(); } Ⅰ:第2行的声明不会为变量myVect分配内存空间。 Ⅱ:第2行的声明分配一个到Vector对象的引用的内存空间。 Ⅲ:第2行语句创建一个Vector类对象。 Ⅳ:第3行语句创建一个Vector类对象。

A.Ⅱ、Ⅲ、Ⅳ

B.Ⅱ、Ⅲ、Ⅳ

C.Ⅰ、Ⅲ

D.Ⅰ、Ⅳ


正确答案:D
解析:本题是考查对Vector的应用和理解。要为一个新对象分配空间,必须执行new Xxx()调用,new调用执行以下的操作:首先为新对象分配空间并将其成员初始化为0或者null:执行类体中的初始化(如在类中有一个成员声明int a=10,在第1步后a=O,执行到第2步后 a=10);然后执行构造函数;最后变量被分配为一个到内存堆中的新对象的引用。

第9题:

下列关于new运算符的描述中错误的是( )。

A.使用运算符new创建对象数组时必须定义初始值

B.使用运算符new创建对象时,会调用类的构造函数

C.运算符new可以用来动态创建对象和对象数组

D.使用new运算符创建的对象可以使用运算符delete删除


正确答案:A

第10题:

给出下列的程序代码片段,下列选项说法不正确的是( )。 ① public void create( ){ ② Vector my; ③ my = new Vector( ); ④ }

A.第二行的声明不会为变量my分配内存空间

B.第二行语句创建一个Vector类对象

C.第三行语句创建一个Vector类对象

D.第三行语句为一个Vector类对象分配内存空间


正确答案:B
解析:本题主要考查要为一个新对象分配空间必须执行new xxx()调用,new调用执行以下的操作:①为新对象分配空间并将其成员初始化为0或者null。②执行类体中的初始化(例如在类中有一个成员声明int a=10;在第一步后a=0,执行到第二步后a=10)。③执行构造方法。④变量被分配为一个到内存堆中的新对象的引用。

更多相关问题