下面关于nEw和DElEtE操作符的说法,哪个是不正确的________。
A、使用nEw操作符,可以动态分配全局堆中的内存资源。
B、若p的类型已由A*强制转换为voiD*,那么执行语句DElEtEp;时,类A的析构函数不会被调用。
C、实现全局函数时,nEw和DElEtE通常成对地出现在由一对匹配的花括号限定的语句块中。
D、执行语句A*p=nEwA[100];时,类A的构造函数只会被调用1次。
第1题:
下列有关析构函数的调用顺序是( )。
A.先执行基类的构造函数,然后执行派生类的析构函数
B.先执行派生类的构造函数,然后执行基类的构造函数
C.析构函数在派生类与基类中同时执行。
D.只执行派生类的构造函数,不执行基类的构造函数
第2题:
下列关于派生类构造函数和析构函数的叙述中,错误的是
A.派生类的构造函数会隐含调用基类的构造函数
B.如果基类中没有默认构造函数,那么派生类必须定义构造函数
C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
第3题:
以下程序存在语法性错误,关于错误原因的正确说法是______。 main() { int a=5,b; void p_ch1(); … b=p_ch1(A) ; …}
A.语句“void p_ch1():”有错,它是函数调用语句,不能使用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名中不能使用下划线
第4题:
A类析构函数私有。
new A;//OK
new A[2];//ERROR
为什么!用new只是调用构造函数,析构只是在删除这个对象采用,而且是手动的,又不是自动的。如果我定义一个Public void Destroy();用来处理删除对象。new能管得着我吗??
一般析构函数应该设成虚析构函数
第5题:
下面关于构造函数和析构函数的描述,错误的是( )。
A.析构函数中调用虚函数采用静态联编
B.对虚析构函数的调用可以采用动态联编
C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
D.构造函数可以声明为虚函数
第6题:
已知一个类A,其中Fun()函数是类A的一个成员函数,A*p,a;p=&a;,则下面语句正确的是( )。
A.语句p=&a;是把对象a赋值给指针变量p
B.语句A*p,a;p=&a;调用两次类A的构造函数
C.对语句*p.fun();的调用是正确的
D.语句 p->fun();和语句 a.fun();等价
第7题:
下列关于派生类构造函数和析构函数的说法中,错误的是( )。
A.派生类的构造函数会隐含调用基类的构造函数
B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D.在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
第8题:
对于子类的构造函数说明,下列叙述中不正确的是()。
第9题:
设px是指向一个类对象的指针变量,则执行“deletepx;”语句时,将自动调用该类的()。
第10题:
设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的()
第11题:
无参构造函数
带参构造函数
析构函数
拷贝构造函数
第12题:
其名与类名完全相同
返回类型是void类型
无形参,也不可重载
函数体中必须有delete语句
第13题:
A使用delete运算符释放类对象时要调用该类的析构函数
Bdelete运算符可以作用于空指针
C由new运算符分配的动态内存空间必须通过delete运算符释放
D使用delete运算符释放动态分配的单个对象和对象数组的语法格式相同
答案:C
第14题:
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是Sample a[2],*P=new Sample;
A.0
B.1
C.2
D.3
第15题:
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是( )。 Samplea[2],*p=newSample;
A.0
B.1
C.2
D.3
第16题:
定义析构函数时,应该注意 ______。
A.其名与类名完全相同
B.返回类型是void类型
C.无形参,也不可重载
D.函数体中必须有delete语句
第17题:
A.子类无条件地继承父类的无参构造函数
B.子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句
C.在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数
D.子类不但可以自动执行父类的无参构造函数,也可以自动执行父类的有参构造函数
第18题:
下面关于构造函数和析构函数的描述,错误的是( )。
A)析构函数中调用虚函数采用静态联编
B)对虚析构函数的调用可以采用动态联编
C)当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
D)构造函数可以声明为虚函数
第19题:
假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为()
第20题:
假定AB为一个类,则执行"ABa,b(2),c[3],*p=&a"语句时共调用该类无参构造函数的次数为()次。
第21题:
定义析构函数时,应该注意()
第22题:
0
1
2
3
第23题:
无参构造函数
带参构造函数
析构函数
拷贝构造函数