我在一个简单的概念上遇到了麻烦,这个概念来自于我以前对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};
最佳答案
没有成员变量的类用作命名空间。