请问构造函数有没有返回值啊?

sea2010seadesdsf 2010-07-16 04:28:57
我测试了一下,构造函数没有返回值,但是如果执行return,就会中断初始化操作,在构造函数中使用exit();会销毁整个对象!
...全文
129 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sea2010seadesdsf 2010-07-16
  • 打赏
  • 举报
回复
谢谢啊,明白了!
jianglin28290 2010-07-16
  • 打赏
  • 举报
回复
如果你非得这样做也不是不可以!这样你返回的可能是错误信息也有可能是对象,需要做判断

一般的做法是如果参数不对,将错误信息放到属性中,并设置状态为错误,然后对象判断是否错误,如果错误保存错误信息并销毁对象
sea2010seadesdsf 2010-07-16
  • 打赏
  • 举报
回复
是不是说在构造函数中使用return是不规范的写法?

我知道return会造成初始化不成功,因为我要在初始化的时候判断构造函数的参数是否输入正确,不正确就不初始化,并将错误信息记录在一个成员变量中,我改用exit();的时候会将整个对象销毁,而输出错误信息的成员变量也被销毁了,什么也输出不了,只能用return才能正常执行

我这样的写法正确吗?规范吗?
lonelyriver 2010-07-16
  • 打赏
  • 举报
回复
…………没有…………

jianglin28290 2010-07-16
  • 打赏
  • 举报
回复
构造函数最后自动将指针返回,从严格意义上来说还是有返回值的,但是不需要自己return
如果中途return,构造函数将不执行返回对象指针的操作,最后导致对象初始化时不成功的
sea2010seadesdsf 2010-07-16
  • 打赏
  • 举报
回复
那怎么构造函数也能执行return啊?
jianglin28290 2010-07-16
  • 打赏
  • 举报
回复
构造函数是在内存里直接生成了一个对象,并将指针赋给变量
jianglin28290 2010-07-16
  • 打赏
  • 举报
回复
构造函数没有返回值的
xuzuning 2010-07-16
  • 打赏
  • 举报
回复
没有返回值

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧