C++ 选择类对象字段的构造函数

C++ 选择类对象字段的构造函数,c++,object,constructor,C++,Object,Constructor,我有一个名为Foo的类,它有另一个名为Bar的类作为字段。Bar只有一个带参数的构造函数。如何选择带Bar参数的构造函数(不存储Bar*而不是Bar,并且调用new) 福安 酒吧 Foo.cpp Foo::Foo() : bar(bar(1)) {} Foo::Foo() : bar(NULL) { bar = new Bar(1); } 我想这样做是因为我听说,除非绝对需要避免管理内存,否则将指针存储为字段通常是不好的,所以我想避免这样的事情: 福安 Foo.cpp Foo

我有一个名为Foo的类,它有另一个名为Bar的类作为字段。Bar只有一个带参数的构造函数。如何选择带Bar参数的构造函数(不存储Bar*而不是Bar,并且调用new)

福安

酒吧

Foo.cpp

Foo::Foo()
  : bar(bar(1))
{}
Foo::Foo()
  : bar(NULL)
{
    bar = new Bar(1);
}
我想这样做是因为我听说,除非绝对需要避免管理内存,否则将指针存储为字段通常是不好的,所以我想避免这样的事情:

福安

Foo.cpp

Foo::Foo()
  : bar(bar(1))
{}
Foo::Foo()
  : bar(NULL)
{
    bar = new Bar(1);
}
如此接近

Foo::Foo()
  : bar(1)
{}
您还需要在类
Foo
的定义中声明构造函数
Foo()

Foo::Foo()
  : bar(1)
{}
您还需要在类
Foo
的定义中声明构造函数
Foo()

Foo::Foo()
  : bar(1)
{}
您还需要在类
Foo
的定义中声明构造函数
Foo()

Foo::Foo()
  : bar(1)
{}

您还需要在类
Foo
的定义中声明构造函数
Foo()

改为:

:条(条(1)){


请注意大写字母B.

您所拥有的看起来几乎不错,但是您需要调用构造函数,而不是参数或变量名

改为:

:条(条(1)){


请注意大写字母B.

您所拥有的看起来几乎不错,但是您需要调用构造函数,而不是参数或变量名

改为:

:条(条(1)){


请注意大写字母B.

您所拥有的看起来几乎不错,但是您需要调用构造函数,而不是参数或变量名

改为:

:条(条(1)){


注意大写字母B。

我接受这个答案,因为它是第一个,而且有效。这也是一个非常酷的速记方式。我接受这个答案,因为它是第一个,并且有效。这也是一个非常酷的速记方式。我接受这个答案,因为它是第一个,并且有效。这也是一个非常酷的速记方式这样做的方式。我接受这个答案,因为它是第一个,而且很有效。这也是一个非常酷的速记方式。这个答案也很有效,这也是我最初认为我必须做的。另一个答案比较短,但对于初学者(像我一样)来说,这个答案可能更清楚这个答案也有效,也是我最初认为我必须做的。另一个答案更短,但这个答案对初学者(像我一样)可能更清楚。这个答案也有效,也是我最初认为我必须做的。另一个答案更短,但这个答案对初学者(像我一样)可能更清楚这个答案也有效,这是我最初认为我必须做的。另一个答案较短,但对于初学者(像我一样)来说,这个答案可能更清楚