저는 게임 엔진을 코딩 중이며 꼭지점, 텍스처, 글꼴 등과 같은 리소스 기본 클래스를 만듭니다.C++ 공용 클래스를 숨기려면 어떻게해야합니까?
이제 다른 프로그래머에게 공개하고 싶은 몇 가지 기본 클래스를 만들고 있습니다. 이미지 (텍스처 사용), 텍스트 (글꼴 사용), 모델 (정점 사용) 등과 같은 기본 클래스를 사용합니다.
게임 엔진도 노출되어 게임을 코딩 할 때 사용할 수 있습니다.
하지만 나는 그들이 기본 클래스에 전혀 액세스하지 못하도록하고 싶습니다. 클래스 클래스와 충돌하지 않기를 바랍니다. 예를 들어, 뭔가 부딪 치기 위해 "Material"이라는 클래스를 만들고 싶지만 내 리소스에 이미 "Material"클래스가 있습니다. 어떻게 충돌을 피할 수 있고 더 나은지,이 기본 클래스를 숨길 수 있습니까 (그래서 그들은 엉망이되지 않습니다) 그걸로 뭔가를 깰)?
편집 : 예 : 노출 된 클래스 이미지이 있습니다. 여기에는 쿼드과 텍스쳐 기본 클래스가 포함되어 있으며 리소스 관리자는 항상로드 된 하나만 있는지 확인하여 메모리에 중복 된 텍스처/쿼드가 없는지 확인합니다.
텍스처 자체는 너비/높이를 가지고 있으며 카드에로드 된 데이터를 관리합니다. 쿼드과 동일합니다.
이미지 이미지 크기 조정이 요청되면 변경해야하는 모든 항목이 변경되고 데이터가 카드에 다시 업로드됩니다. 그들은 거의 모든 곳에서 사용하고 있기 때문에
텍스처및 쿼드는 모듈과에 효과를 적용 할 몇 가지 클래스가있다, 공공있다.
그들은 (다른 프로그래머는) 상속, 인스턴스로 이미지를 사용하거나 그 자체를 관리하고 그들도 모르는, 그래서 나는 만이 이미지 클래스 노출 원하기 때문에 구성원으로하는 있을 수 있습니다 Quad 및 Texture 클래스이며 클래스 네이밍에도 간섭하지 않습니다.
생성자 또는 소멸자를 공개 또는 비공개로 숨길 수 있습니다. 적어도 (불법적 인) 인스턴스화를 막을 것입니다. –
물건을 비공개로 설정하고 공개 게터와 설정자를 사용 하시겠습니까? – progrenhard
[네임 스페이스] (http://en.cppreference.com/w/cpp/language/namespace) – Blastfurnace