c++里,为什么会在一个没有用到的构造函数那里提示编译错误啊?

2024-12-25 20:31:29
推荐回答(4个)
回答1:

很简单。因为类B里有成员变量A aa和A bb,如果添加了B(){},那么系统在{}中会自动调用A的构造函数来构造aa和bb,而A中又没有A(){}这个构造函数,所以出错。
所以加上就又对了。

回答2:

因为你的类B中把A类的对象用作了成员。

假想一下,如果你这样定义一个B的对象:B b;,那么这个b对象的aa和bb两个成员(它们都是类A的对象)如何初始化?

回答3:

因为你在B类里面实例化了两个A类的对象 但是你在B类里面没有对他初始化 所以他去调用A类的初始化 但是A类里面也没有这个构造函数来初始化(A(int a)必须是带了参数的) 所以会出问题 简单来说 就是A类的两个对象 没有初始化

回答4:

angular velocity
角速度
cosmic velocity
宇宙速度
generalized velocity
广义速度
group velocity
群速度
phase velocity
相速度
speed skating
速度滑冰
To decrease in velocity.
减慢速