【发布时间】:2019-05-24 04:10:13
【问题描述】:
类已将我的类写在不同的文件中。如:
-main.cpp
-ClassA.cpp
-ClassB.cpp
-ClassC.cpp
main.cpp 包含所有类的#include,但我还需要在 ClassB 和 ClassC 中的 main 中访问从 ClassA 实例化的对象。
main.cpp
#include "ClassA.cpp"
#include "ClassB.cpp"
#include "ClassC.cpp"
ClassA objA;
ClassB objB(objA);
ClassB objC(objA);
。 .
classB.cpp
#include "ClassB.cpp" //How to avoid the double declaration and yet make the class recognizable?
class ClassB{
public:
ClassA objA;
ClassB(ClassA obj){
this->objA = obj; // Is it the right way in C++?
}
};
我知道这是不对的。但为什么不呢?在 Java 中是有意义的。
【问题讨论】:
-
您通常不应包含
.cpp文件。这里对基本的 C++ 文件结构和构建过程有很好的解释:stackoverflow.com/questions/333889/… -
C++ 不是 Java。事情以不同的方式完成。
-
1201ProgramAlarm。感谢您的信息。但在我发布这个问题之前我已经知道了(因此我发布了这个问题)。
标签: c++ oop syntax composition