28 c++
我有一个使用枚举类型的程序.
enum Type{a,b,};
class A
{
//use Type
};
class B
{
// also use that Type
};
Run Code Online (Sandbox Code Playgroud)
2类位于2个不同的文件中.我应该将类型定义放在头文件中还是每个类的类定义中?
小智 7
您应该总是尝试在C++中限制类型的范围,因此枚举应该在类范围内声明.枚举通常在一个类中比另一个类更自然地属于 - 让我们说类A,所以你把它放在啊标题中的A声明中:
// a.h
class A {
public:
enum Type { a, b };
...
};
Run Code Online (Sandbox Code Playgroud)
现在你需要在声明B的头文件中包含ah:
// b.h
#include "a.h"
class B {
public:
void f( A::Type t ); // use the Type enum
...
};
Run Code Online (Sandbox Code Playgroud)