对于一个类定义,下列叙述中错误的是

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:54:40
A 如果没有定义拷贝构造函数,编译器将产生一个拷贝构造函数
B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数
C 如果没有定义构造函数,编译器将会产生一个缺省的构造函数和一个拷贝构造函数
D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数。

D肯定是对的,A我觉得也没错,C我也觉得没错,啊,那就是B了吗?我试过,编译出错,B就是错误的吧
我查了答案,选B

那你还是问问你们的老师,在网上好好看这方面的说明吧,!!

你说的编译语言是什么C++吧!!

1.C++规定,每个类必须有默认的构造函数,没有构造函数就不能创建对象。

2.若没有提供任何构造函数,那么c++提供自动提供一个默认的构造函数,该默认构造函数是一个没有参数的构造函数,它仅仅负责创建对象而不做任何赋值操作。

3.只要类中提供了任意一个构造函数,那么c++就不在自动提供默认构造函数。

4.类对象的定义和变量的定义类似,使用默认构造函数创建对象的时候,如果创建的是静态或者是全局对象,则对象的位模式全部为0,否则将会是随即的。

C:是错的,没有定义构造函数是会产生一个缺省的构造函数,而不会产生一个拷贝构造函数