使用 C++ 类定义多个数据结构

Using a C++ Class to Define Multiple Data Structures

本文关键字:数据结构 定义 C++ 使用      更新时间:2023-10-16

我对一个简单的概念有问题,这个概念来自我以前使用 C 的经验以及它如何转移到C++。 在 C 语言中,您会看到一个头文件,其中包含多个结构类型定义,这些定义可以跨代码库使用。 然后我看到了类似于下面的C++类用法:

//varTypes.h
class varTypes
{
  public:
    struct TypeOne {int a; int b;};
    struct TypeTwo {int c; int d;};
}
//varTypes.cpp
include "varTypes.h"
varTypes::TypeOne x {1, 1};
varTypes::TypeTwo y {1, 2};
varTypes::TypeTwo z {2, 4};

在这种情况下,类似乎仅用于包含可根据需要单独使用的定义。 这是真的吗?或者类和两个定义是否总是作为它们使用的每个实例的成员一起存在,即 x、y 和 z 最终是作为整个 varType 类实例还是作为它们各自的结构?

供参考的简单 C 代码

//varTypes.h
struct TypeOne {int a; int b;};
struct TypeTwo {int c; int d;};
//varTypes.c
include "varTypes.h"
varTypes::TypeOne x {1, 1};
varTypes::TypeTwo y {1, 2};
varTypes::TypeTwo z {2, 4};

没有成员变量的类充当命名空间。