【发布时间】:2016-02-15 16:30:11
【问题描述】:
外部类中存在非指针(体)嵌套类,计算后需要从外部类构造函数中调用它的构造函数,怎么办?
class nested
{
int value;
nested(int x) {value=x;};
nested() {value=0;};
};
class outer:
{
nested n;
nested *pn;
outer(int x);
};
outer::outer(int x1)
{
x = x1;
y = x + 1 *x*x;//some long calculations needed for nested
pn = new nested(y); //this is trivial
n = nested(y); //??? how to initialize non-pointer class?????
}
【问题讨论】:
-
顺便说一句,你可以做
nested(int x = 0) { value = x; }并删除无参数构造函数。 -
@TadeuszKopec 这里
nested有一个默认构造函数。 -
@zenith 仍然问题归结为“如何为成员的自定义构造函数提供参数”,并且它存在于 SO 上的无数实例中。如果您知道有关它的规范问题,请出示。
标签: c++