c – Enum范围界定问题

前端之家收集整理的这篇文章主要介绍了c – Enum范围界定问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尽量把事情保持在本地,所以我把枚举放在类范围内,即使它们在两个类之间共享(我把它放在“更好”的类中.)这很好,但是我最近遇到了一个问题,如果我把枚举放在类范围内,就会发生循环依赖.

枚举将成为多个类的构造函数参数,它所在的类(以及最适合它的类)包括这些类.因此,不可能将枚举用作包含的类的构造函数参数,因为它将导致循环依赖.

将这个枚举放在自己的头文件中会不会更好,如果是这样,我应该将头文件中的所有枚举保持一致吗?这个问题是否还有其他解决方案(这是合乎逻辑的)?

解决方法

如果枚举被多个类使用,那么我会说它并不真正属于单个类的定义,而是属于这些类所在的命名空间.

这是除非枚举通过一个类传递给另一个类的构造函数,在这种情况下,单独实例化枚举依赖类并将其作为参数传递给包含类的构造函数可能更有意义.

猜你在找的C&C++相关文章