问一个C++构造函数的问题
对于一个类定义,下列叙述中错误的是______。A.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数B.如果没有定义不带参数的构造函数,编译器将一定生成一...
对于一个类定义,下列叙述中错误的是______。
A.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数
B.如果没有定义不带参数的构造函数,编译器将一定生成一个缺省的构造函数
C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数
D.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数
答案选B,求解释一下原因,分析一下各个选项 展开
A.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数
B.如果没有定义不带参数的构造函数,编译器将一定生成一个缺省的构造函数
C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数
D.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数
答案选B,求解释一下原因,分析一下各个选项 展开
4个回答
展开全部
错误的是:B
C++标准有这样描述:
“只有一个类没有定义构造函数时,编译器才会自动生成缺省的构造函数”
所以看出来A对,B错。
另外C++标准有这样描述:
“只有一个类没有定义拷贝构造函数时,编译器才会自动生成缺省的拷贝构造函数”
所以C,D是对的。
C++标准有这样描述:
“只有一个类没有定义构造函数时,编译器才会自动生成缺省的构造函数”
所以看出来A对,B错。
另外C++标准有这样描述:
“只有一个类没有定义拷贝构造函数时,编译器才会自动生成缺省的拷贝构造函数”
所以C,D是对的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这属于构造函数和析构函数的基本定义问题。
如果没有定义构造和析构函数,编译器默认生成。
B.如果没有定义不带参数的构造函数,编译器将一定生成一个缺省的构造函数
这里不管有没有带参数,只要有构造函数,编译器就不会生成缺省的构造函数。
如果没有定义构造和析构函数,编译器默认生成。
B.如果没有定义不带参数的构造函数,编译器将一定生成一个缺省的构造函数
这里不管有没有带参数,只要有构造函数,编译器就不会生成缺省的构造函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个题其实可以用排除法来做,对于选项中的带有绝对意思的语句,可疑性最大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询