그래픽스 공부하는 학생이 코딩하다 막혀서 c++ 객체지향에 대해 질문올림
class Object; 밑에 Sphere, Cube, Tetrahedron 등등 클래스를 상속시키고 (class Sphere : public Object { ... } 이런식으로)
물체들 관리할때는 Object* 타입으로 저장하면서 두 물체간 거리재는 함수를 만들고싶거든
예를들어 Sphere-Cube 거리 재는 함수, Sphere-Sphere 거리 재는 함수등등 페어마다 전부 다르게 구현해야하는데
함수를 어떻게 정의하는게 좋을까?
예전에 한번 짜보긴 했는데 virtual 함수 쓰기도 애매해보였고..
double distance(Object* object1, Object* object2); 에다가 일일히 dynamic_cast 해서 하위클래스로 분류한다음에 해당 pair에 맞는 함수 호출했거든
다른 좋은 방법이 있을지?? 조언좀
인터페이스를 만들고 싶다는 거냐? 구하는 방법이 다다르면 객체클레스마다 다 박아야지
double dispatch로 검색 ㄱㄱ.
http://debian.fmi.uni-sofia.bg/~mrpaff/Effective
C++/MEC/MI31_FR.HTM 이거 설명 잘해놨네
오 이런 전문용어가 있었구나 형들 감사
visitor