【发布时间】:2013-03-22 13:18:55
【问题描述】:
我有一个名为 Bar 的课程, 在这个类 Bar 中有一个 Foo 类型的对象(一个类)。 类 Bar 有 3 个参数,x、y 和 z。 Foo 有 2 个参数,y 和 z。
目前我正在这样做:
class Bar {
public:
Bar(int x, int y, int z) {
foo = new Foo(y, z);
do something with x;
}
private:
Foo * foo;
};
我记得在一本书中看到使用冒号的另一种方法,但我不记得具体是怎么做的。
做这种事情的标准或通常的方法是什么?
【问题讨论】:
-
Foo 是一个容器类,包含一个 myClass 类型的向量。当我这样做时,我现在收到错误: 1>c:\program files (x86)\microsoft visual studio 11.0\vc\include\vector(1541): error C2036: 'myClass *' : unknown size 它编译并运行良好当我使用动态分配完成时。
-
你能发布你的实际代码吗?
-
你在前向声明类吗?您可以对指针和引用执行此操作,但编译器需要普通成员的完整定义(读取:标头)。
标签: c++ class parameters constructor