c++数组对象的疑问
答案:4 悬赏:10
解决时间 2021-04-22 09:28
- 提问者网友:我是我
- 2021-04-22 02:27
在c++中定义数组对象时,必须要使用无参构造函数么?如果是,为什么?如果不是,那么用无参构造函数有什么好处呢?
最佳答案
- 二级知识专家网友:苦柚恕我颓废
- 2021-04-22 02:33
不是无参构造函数
是默认构造函数
默认构造函数有两种形式
一种就是你说的无参构造函数
另一种是 构造函数的参数都有默认值
然后 想定义对象数组[不是数组对象] 这个类要提供默认构造参数
是默认构造函数
默认构造函数有两种形式
一种就是你说的无参构造函数
另一种是 构造函数的参数都有默认值
然后 想定义对象数组[不是数组对象] 这个类要提供默认构造参数
全部回答
- 1楼网友:都不是誰的誰
- 2021-04-22 05:00
的确是这样,必须使用无参(或者叫默认)构造函数,无参构造函数就是用在声明该类对象时,不必或者不可能传递构造函数参数时,对象数组就是这样
- 2楼网友:承载所有颓废
- 2021-04-22 04:25
可以定义指针数组:
typedef class1 * pcc;
class1 **p=new pcc[10];
p[0]=new class1(...);//可灵活指定重载的构造函数
p[1]=new class1(...);//可灵活指定重载的构造函数
.........
- 3楼网友:转身后的回眸
- 2021-04-22 04:08
是的 。
但是第一个是程序运行之前就知道数组长度的分配方法,第二个是分配长度在程序运行后由用户或某些判断给出的情况下实现的动态分配。另一个不同点是为他们开辟的空间位置不同。第一种在栈,第二种在堆。
有一个口诀:动态的new,静态的不new;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯