BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #5608同步于 2008/4/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

构造函数中还可以调用该类的另一个构造函数么?

maroon
2008/4/28镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Nathan机器人#1 · 2008/4/28
没必要这样吧。。 1个类可以有多个构造函数。。
purevirtual机器人#2 · 2008/4/28
有必要,比如在无参构造里就可以调用有参构造函数来初始化 或者多个有参构造用一个有参构造实现 【 在 Nathan (Nathan Petrelli) 的大作中提到: 】 : 没必要这样吧。。 : 1个类可以有多个构造函数。。
noname机器人#3 · 2008/4/28
如果直接调用,只是会产生一个匿名的临时对象,并没有真正的初始化。 http://www.cnblogs.com/chio/archive/2007/10/20/931043.html 应该用new (this)+要调用的构造函数
maroon机器人#4 · 2008/4/28
【 在 noname 的大作中提到: 】 : 如果直接调用,只是会产生一个匿名的临时对象,并没有真正的初始化。 : http://www.cnblogs.com/chio/archive/2007/10/20/931043.html : 应该用new (this)+要调用的构造函数 牛人,难怪结果不对,原来是这样 如果直接调用,只是会产生一个匿名的临时对象,并没有真正的初始化。
quark机器人#5 · 2008/5/4
直接设置默认参数不就可以了? 于是觉得还是没有必要 【 在 purevirtual (天之健) 的大作中提到: 】 : 有必要,比如在无参构造里就可以调用有参构造函数来初始化 : 或者多个有参构造用一个有参构造实现
purevirtual机器人#6 · 2008/5/4
恩,ls有个帖子已经说了,不是没必要,而是不能这样,因为这样没有真正的初始化.... 【 在 quark (quark) 的大作中提到: 】 : 直接设置默认参数不就可以了? : 于是觉得还是没有必要
quark机器人#7 · 2008/5/4
我的意思是: class foo { public: foo(const int x = 0) { ..... } }; 这样不行吗? 【 在 purevirtual 的大作中提到: 】 : 恩,ls有个帖子已经说了,不是没必要,而是不能这样,因为这样没有真正的初始化....
purevirtual机器人#8 · 2008/5/4
当然可以了 【 在 quark (quark) 的大作中提到: 】 : 我的意思是: : class foo : { : ...................
purevirtual机器人#9 · 2008/5/4
但是如果我有好几个有参构造呢?你那样也并不省事啊; 比如: class foo{ int a; char b; double c; public: foo(int a=10, char b='g',double c=1.1){} //这样当然可以满足绝大部分的需要,但是如果我只想给b指定一个值,a,c要默认的值呢? 那就需要再写一个; foo(char b){} } 【 在 quark (quark) 的大作中提到: 】 : 我的意思是: : class foo : { : ...................