我测试了一下,构造函数没有返回值,但是如果执行return,就会中断初始化操作,在构造函数中使用exit();会销毁整个对象!

解决方案 »

  1.   

    那怎么构造函数也能执行return啊?
      

  2.   

    构造函数最后自动将指针返回,从严格意义上来说还是有返回值的,但是不需要自己return
    如果中途return,构造函数将不执行返回对象指针的操作,最后导致对象初始化时不成功的
      

  3.   

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