C 中的对象依赖性.什么是班级组成的语法

Object dependency in C++. What is the syntax for class composition?

本文关键字:语法 什么 对象 依赖性      更新时间:2023-10-16

类已在不同的文件中写下我的类。例如:

-main.cpp
-ClassA.cpp
-ClassB.cpp
-ClassC.cpp

main.cpp具有所有类的#include,但是我还需要访问从classa Inside classB和classC中实例化的对象。

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中有意义。

在标题文件中声明您的类。例如。" 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文件中实现您的类。例如。" classB.cpp"

#include "ClassB.h"
ClassB::ClassB(ClassA obj)
{
    objA = obj;
}

重复您的其他课程。