C++中的对象依赖。 class 组合的语法是什么?
Object dependency in C++. What is the syntax for class composition?
Class 已将我的 类 写入不同的文件中。如:
-main.cpp
-ClassA.cpp
-ClassB.cpp
-ClassC.cpp
main.cpp 具有所有 类 的 #include,但我还需要访问 ClassB 和 ClassB 和 [=30 中的 main 中从 ClassA 实例化的对象=]C.
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 中是有道理的。
在头文件中声明您的 classes。例如。 "ClassB.h":
#include "ClassA.h" // if it's referenced by the subsequent class declaration, you likely need that class's header file as well.
class ClassB{
public:
ClassA objA;
ClassB(ClassA obj);
};
在 .cpp 文件中实现您的 class。例如。 "ClassB.cpp"
#include "ClassB.h"
ClassB::ClassB(ClassA obj)
{
objA = obj;
}
为您的其他 class 重复。
Class 已将我的 类 写入不同的文件中。如:
-main.cpp
-ClassA.cpp
-ClassB.cpp
-ClassC.cpp
main.cpp 具有所有 类 的 #include,但我还需要访问 ClassB 和 ClassB 和 [=30 中的 main 中从 ClassA 实例化的对象=]C.
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 中是有道理的。
在头文件中声明您的 classes。例如。 "ClassB.h":
#include "ClassA.h" // if it's referenced by the subsequent class declaration, you likely need that class's header file as well.
class ClassB{
public:
ClassA objA;
ClassB(ClassA obj);
};
在 .cpp 文件中实现您的 class。例如。 "ClassB.cpp"
#include "ClassB.h"
ClassB::ClassB(ClassA obj)
{
objA = obj;
}
为您的其他 class 重复。