c++中的include和类

Includes and classes in C++

本文关键字:和类 include 中的 c++      更新时间:2023-10-16

嗯,我有以下问题…我有main。cpp

#include "serverClass.h"
...

,然后在serverClass.h中,

#ifndef SERVERCLASS_H_
#define SERVERCLASS_H_
#include <stdio.h>
#include <stdlib.h>
#include "clientThread.h"
....

和在clientThread中

class ClientThread {
private:
serverClass* server;
....

但是当它试图编译ClientThread时,它说serverClass不是一个类型,因为它还没有编译。我无法避免在serverClass中包含clientThread.h。无论如何要告诉编译器,有一个类型称为serverClass尚未编译?

您需要转发delcare serverClass:

class serverClass;
class ClientThread {
private:
serverClass* server;
....

在clientThread.h中,在ClientThread类定义之前,可以前向声明 ServerClass类:

// Forward declaration
class ServerClass;
class ClientThread {
private:
ServerClass* server;
 ....