Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以下场景的语法是否有问题:
如果我有 Foo 类和 Foo1 类,并且我的 Foo 类有 Foo1 类型的私有成员:
.h 文件:
class Foo{ Foo1 *oFoo; public: Foo(Foo1 &Fooy); }
.cc 文件:
Foo::Foo(Foo1 &Fooy){ oFoo = &Fooy; }
上述构造函数中的赋值是否合法?我是 C++ 新手。
它应该oFoo代替Foo,并且成员应该在初始化列表中初始化:
oFoo
Foo
Foo::Foo(Foo1 &Fooy): oFoo(&Fooy) { }
否则没关系。考虑制作构造函数explicit以防止不需要的隐式强制转换。
explicit