C++中的结构是类似于枚举还是类?

问题描述:

我想知道如果一个struct有相同的想法,在C++ enum?如果有人能解释相似点/差异,我会很感激,我正在努力学习。C++中的结构是类似于枚举还是类?

+0

注意'enum'不会产生它自己的范围,除非你使用'enum class'。 – chris 2012-07-19 19:43:06

+0

@chris yep,在我看来主要PIA – MFH 2012-07-19 20:07:48

结构基本上是公共所有成员的类。

例如:

struct MyNewStruct { 
    int myNewInt; 
    double myNewDouble; 
}; 

等同于:

因此,你可以创建一个构造函数的结构:

struct MyNewStruct { 
    int myNewInt; 
    double myNewDouble; 

    MyNewStruct(int i, double d) 
    : myNewInt(i), myNewDouble(d) 
    {} 
}; 

枚举是抽象出幻数。

一个结构是持有不同变量的集合。

你几乎可以想到一个枚举作为一个独立的为int或字符,以使事情更易读。

+1

这非常含糊。 C++中的类应该理想地与int和char一起使用(即它们应该像内置类型一样),并且在C++类型分类中inum的enum作为约束类型的特殊状态实际上并不完全清楚。 – 2012-07-19 19:44:26

在C++结构类似于枚举或类?

在C++中,一个结构是基本相同的一类,但它为成员变量,方法,以及用于基类的默认访问改性剂是所有公众,其中的一类,则默认访问修饰符是私人。

+0

我明白现在谢谢 – user1535963 2012-07-19 20:03:12