社区
基础编程
帖子详情
请问构造函数有没有返回值啊?
sea2010seadesdsf
2010-07-16 04:28:57
我测试了一下,构造函数没有返回值,但是如果执行return,就会中断初始化操作,在构造函数中使用exit();会销毁整个对象!
...全文
129
9
打赏
收藏
请问构造函数有没有返回值啊?
我测试了一下,构造函数没有返回值,但是如果执行return,就会中断初始化操作,在构造函数中使用exit();会销毁整个对象!
复制链接
扫一扫
分享
转发到动态
举报
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
打赏
举报
回复
没有返回值
构造函数
有没有
返回值
?
昨天面试,他问我:
构造函数
有没有
返回值
? 我告诉他说:
构造函数
没有
返回值
。 他举了个反例: String str = new String("content"); new 的时候调用
构造函数
,返回给str; 再问:
有没有
方法确定知道
构造函数
有没有
返回?? 这是 上的说法: For purposes other than simple initializ
JAVA中
构造函数
有没有
返回值
_【面试题】
构造函数
有没有
返回值
曾经遇到一个面试题——
构造函数
有没有
返回值
?今天调查一番后,给出确切的答案:
构造函数
没有
返回值
。我们使用
构造函数
构造一个String字符串str:String str = new String("abc");这里的new 是调用
构造函数
,在堆里动态创建一个String对象,并让str指向这个对象。实际上赋值是因为new关键字,而不是()在起作用。从语法上讲,
构造函数
不允许有
返回值
,就算是 void...
Java
构造函数
到底
有没有
返回值
?
Java
构造函数
到底
有没有
返回值
?
C++ 中调用
构造函数
有
返回值
吗?
C++中的
构造函数
: 最近在面试中问道一个问题,C++中
构造函数
有
返回值
吗? 例如 class A { public: A():x(1){} A(int i):x(i){} private: int x; } 官方解释在C++标准规定了构造/析构/自定义类型转换符不可以指定返回类型。 如果
构造函数
有
返回值
比如下:有
返回值
且
返回值
为int类型; //若
构造函数
有参数 int A():x_...
1.为什么
构造函数
不能有
返回值
?
构造函数
的调用之所以不设
返回值
,是因为
构造函数
的特殊性决定的。从基本语义角度来讲,
构造函数
返回的应当是所构造的对象。否则,我们将无法使用临时对象: ::如果C的
构造函数
可以有
返回值
,比如int; int C( ):x_( 0) { return 1; // 1表示成功,0表示失败! } 当 C c= C( );此时c.x_ ==1 很明显,c()调用了C的无参
构造函数
。该
构造函数
返回值
int值1。恰好C有一个带参数
构造函数
C(int i)。于是,混乱来了。按照C++的规定,C c=C(){};
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章