首页 > 试题广场 >

有以下程序 #include using...

[不定项选择题]
有以下程序
#include <iostream>
using namespace std;
class D{
    int d;
public: 
    D(int x=1):d(x){}
    ~D(){cout<<"D";}}; 
int main(){ 
    D d[]={_____________};
    D* p=new D[2];
    delete[]p;
    return 0; 
}
程序运行的结果是DDDDD,请为横线处选择合适的程序(      )
  • 3,3,3
  • D(3), D(3), D(3)
  • 3,3,3,3
  • D(3,3),D(3,3)
程序运行结果为DDDDD说明调用了5次析构函数,所以需要创建5个对象,D* p=new D[2]创建了两个对象D,那么对象数据 D d[]需要创建3个对象D因此排除 选项C,选项的D的初始化方式错误、A、B是对象数组的两种初始化方式,正确
发表于 2020-08-13 12:15:31 回复(0)
A. 隐式转换
发表于 2021-11-28 15:52:26 回复(0)
多选题
发表于 2023-10-23 10:25:18 回复(0)
程序运行结果为DDDDD说明调用了5次析构函数,所以需要创建5个对象,D* p=new D[2]创建了两个对象D,那么对象数据 D d[]需要创建3个对象D因此排除 选项C,选项的D的初始化方式错误、A、B是对象数组的两种初始化方式,正确
发表于 2022-07-04 09:00:48 回复(0)
显式和隐式构造
发表于 2024-04-26 10:26:14 回复(0)
C跟A有区别吗?我啥我看都一样的初始化,多一个3有什么问题嘛?
发表于 2024-01-12 20:34:44 回复(1)