3

如何将结构放在单独的文件中?我可以通过将函数原型放在头文件(例如file.h)中,将函数体放在像file.cpp 这样的文件中,然后在带有main 的源文件中使用include 指令#include "file.h" 来处理函数。任何人都可以举一个简单的例子,用下面的结构做同样的事情吗?我正在使用 dev-c++。

struct person{
  string name;
  double age;
  bool sex;
};
4

2 回答 2

8

只需声明

struct person;

它被称为类前向声明​​。在 C++ 中,结构是默认情况下所有成员都是公共的类。

于 2009-07-27T00:01:11.483 回答
4

如果您在谈论结构声明:

人.h

#ifndef PERSON_H_
#define PERSON_H_
struct person{ 
  string name; 
  double age; 
  bool sex; 
};
#endif

然后,您只需在需要该结构的 .cpp 文件中包含 person.h 即可。

如果您在谈论结构的(全局)变量:

人.h

#ifndef PERSON_H_
#define PERSON_H_
struct person{ 
  string name; 
  double age; 
  bool sex; 
};
extern struct Person some_person;
#endif

在您的一个.cpp 文件中,您需要在全局范围内包含“some_person”定义的这一行

struct Person some_person;

现在每个需要访问全局 'some_person' 变量的 .cpp 文件都可以包含 person.h 文件。

于 2009-07-27T00:10:58.153 回答