Two classes that refer to each other

后端 未结 3 511
我在风中等你
我在风中等你 2020-12-09 16:33

I\'m new to C++, so this question may be basic:

I have two classes that need to refer to each other. Each is in its own header file, and #include\'s the other\'s he

3条回答
  •  感情败类
    2020-12-09 16:55

    Forward declaration is the way to go.

    If you are using pointers\reference in class header then Forward declaration at both sides would work for you.

    If you are creating the object as a class member then you must include header itself. ( Forward declaration won't work as compiler needs class definition for knowing the size).

    Refer C++ FAQ for solving such senario:

    If you are creating the Window as member then include the Window header in App but at the same time Window shouldn't include the App's header. Use the combination of pointer to App and the forward declaration there.

提交回复
热议问题