设在程序中使用如下语句申请了一个对象数组Point*ptr=newPoint[2];当要释放ptr指向的动态数组对象时,所使用的语句是delete ptr。()

题目
设在程序中使用如下语句申请了一个对象数组Point*ptr=newPoint[2];当要释放ptr指向的动态数组对象时,所使用的语句是delete ptr。()

此题为判断题(对,错)。

参考答案和解析
正确答案:错误
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设在程序中使用如下语句申请了一个对象数组:Point *ptr=new Point[2]; 当要释放ptr指向的动态数组对象时,所使用的语句是delete ptr。


efine NUM 10

第2题:

若有类classA,动态创建该类的一个长度为10的数组和释放数组内存空间的正确语句应为()。

A.classA *ptr=new classA(10); delete ptr;

B.classA *ptr=new classA[10]; delete []ptr;

C.classA *ptr=new classA(10); delete *ptr;

D.classA *ptr=new classA[10]; delete ptr;


People zhang=new People();

第3题:

【单选题】语句int (*ptr)();的含义是() 。

A.ptr是指向一维数组的指针变量

B.ptr是指向int型数据的指针变量

C.ptr是指向函数的指针,该函数返回一个int型数据

D.ptr是一个函数名,该函数的返回值是指向int型数据的指针


这个语句是定义函数的语句

第4题:

设在程序中使用如下语句申请一个对象数组:

Shape *p1=new Shape[3];

则在需要释放p1指向的数组对象时,使用的语句是____________。


正确答案:
delete[]p1;

第5题:

有如下程序: #inClude<iostream> using namespaCe std; Class Point{ publiC: statiC int number; publiC: Point( )t.number++;} ~Point( ){number--;} }; , int P0int::number=0; int main( ){ Point *ptr: Point A,B; Point*ptr_point=new Point[3]; ptr=ptr_point;’ } Point C; Cout<<Point:::number<<endl; delete[]ptr; return 0; } 执行这个程序的输出结果是( )。

A.3

B.4

C.6

D.7


正确答案:C
本题考查默认构造函数.题目中定义.个对象A、B以及对象数组Point[3],又定义了对象C,共执行6次构造函数,number变为了6,所以本题答案为C。

第6题:

下列程序中需要清理动态分配的数组,划线处应有的语句是_______。 include class pers

下列程序中需要清理动态分配的数组,划线处应有的语句是_______。

include<iostream.h>

class person

{

int age,tall;

public:

person( ){age=0;tall=40;cout<<"A baby is born."<<endl;}

person(int i){age=i;tall=40;cout<<"A old person."<<endl;}

person(int i,int j){age=i;tall=j;cout<<"a old person with tall."<<endl;)

~person( ){cout<<"person dead."<<endl;}

void show( )

{

cout<<"age="<<age<<",tall="<<tall<<endl;

}

};

void main( )

{

person*ptr;

ptr=new person[3];

ptr[0]=person( );

ptr[1]=person(18);

ptr[2]=person(20,120);

for(int i=0;i<3;i++)

ptr[i].show( );

______

}


正确答案:delete[]ptr;
delete[]ptr; 解析:本题考察对象数组的销毁方法,注意删除对象数组时,[]内不要指定大小。

第7题:

语句int(*ptr)();的含义是

A.ptr是指向一个维数组的指针变量

B.ptr是指向int型数据的指针变量

C.ptr是指向函数的指针,该函数返回一个int型数据

D.ptr是一个函数名,该函数的返回值是指向int型数据的指针


正确答案:C
解析:本题考查的是函数指针的定义。定义一个函数指针的形式为:类型标识符(*指针变量名)()。函数指针的值等于函数的入口地址,通过这个指针变量能够调用它所指向的函数。

第8题:

有如下程序:includeusing namespace std;class Point{public: static int number;

有如下程序:#include<iostream>using namespace std;class Point{public: static int number;public: Point(){number++;} ~Point(){number--;}};int Point::number=0;void main(){ Point*ptr; Point A,B; { Point*ptr_point=new Point[3]; ptr=pb_point; } Point C cout<<Point::number<<endl; delete[]ptr; }运行时输出的结果是

A.3

B.4

C.6

D.7


正确答案:C
解析:本题考查的知识点是:静态成员,对象的构造,对象的生存周期。静态成员的特性是不管这个类创建了多少个对象,它的静态成员都只有一个拷贝(副本),这个副本被所有属于这个类的对象共享。本题的Point类中就定义了一个静态成员变量 number。其初始值为0,每次构造则自动增1,析构则自动减1,所以number是Point类对象的计数值。在主函数中,第1行定义了1个Point类型指针ptr,这并不会构造 Point类对象,因此number值为0;第2行定义了2个Point对象,所以此时number值为2;第3~6行是一个语句块,其中通过new运算符又定义了1个包含3个Point对象元素的数组,由于是动态创建的,所以其生命周期只能通过delete运算符来结束,否则会一直占据内存直到程序结束,所以现在number的值为5:第7行定义了1个 Point对象C,number的值变为6;第8行输出number的内容,所以最后输出的结果是6。故本题应该选择C。

第9题:

( 29 )有如下程序:

#include

using namespace std;

class point {

public:

static int number;

public:

point () {number++;

~ point () {number-;}

};

imt point::number=0;

void main () {

point*ptr;

printA,B;

{

point*ptr_point=new point{3};

ptr=ptr_point;

}

pointC;

cout<<POINT::NUMBER<<ENDL;

delete[]ptr;

}

运行时输出的结果是

A ) 3

B ) 4

C ) 6

D ) 7


正确答案:C