C++这在构造函数中?
可能的重复:
c++ 从构造函数调用构造函数
如何在 c++ 中进行“self”(this)赋值?
Java:
public Point(Point p) {
this(p.x, p.y);
}
在 C++ 中如何做到这一点?
是否只有 this->(接受 x 的点的构造函数,接受 y 的点的构造函数);
类似?
Possible Duplicate:
c++ call constructor from constructor
How to do "self" (this) assignments in c++?
Java:
public Point(Point p) {
this(p.x, p.y);
}
How would do this in C++?
Would it be similar only this->(constructor of point that takes x, constructor of point that takes y);
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 C++0x 中,您可以使用委托构造函数:
请注意,目前还没有编译器完全支持 C++0x;这个特殊功能尚未在 G++ 中实现。
在旧版本的 C++ 中,您必须委托给私有构造函数:
In C++0x, you can use delegating constructors:
Note that no compiler has full support for C++0x yet; this particular feature is not yet implemented in G++.
In older versions of C++, you have to delegate to a private construction function:
如果我理解这段 Java 代码的含义(依赖于同一类的另一个构造函数来完成工作的构造函数):
这就是我在 C++:
If I understand what you mean by this Java code (a constructor that relies on another constructor of the same class to do the job):
this is how I would express the same in C++:
如果您调用同一类的另一个构造函数,它将创建一个新对象。
如果你想这样做,你应该将构造函数逻辑放在 init 方法中,并从所有构造函数中调用它。
If you call another constructor of the same class it will create a new object.
If you want to do this, you should put the constructor logic in an init method and call it from all constructors.