나는 기본 클래스 Entity
에서 파생 된 클래스의 상당히 큰 계층 구조를 가지고 있습니다. 이러한 클래스를 별도의 네임 스페이스로 그룹화하고 싶습니다. 현재이는 다음과 같습니다네임 스페이스를 사용하여 클래스 계층 분리
namespace Entity {
class Entity {
//...
};
class A : public Entity { // Instead of AEntity from before.
//...
};
class B : public Entity { // Instead of BEntity from before.
//...
};
}
int main() {
// Example usage:
Entity::Entity *entity = new Entity::B();
delete entity;
}
이 Entity::Entity
조금 불행한 작성하지, 그래서 이것은 좋은 생각이 있다면 내가 궁금하네요? 전역 네임 스페이스에 using namespace Entity
또는 typedef Entity::Entity Entity
을 추가하면 작동하지 않습니다 (이는 namespace Entity
과 충돌합니다). 그들은 main
내에 추가 될 수 있습니다 ...
내 기본 클래스와 동일한 네임 스페이스의 이름을 지정하지 않아야합니까? 아니면이 일반적인 관행입니까?
우리의 명명 규칙은 네임 스페이스와 유형이 PascalCase를 사용해야한다고 규정하지만 복수형을 사용하는 것이 좋습니다. 감사합니다! – zennehoy