C#에서는 인터페이스 상속과 제네릭으로 다형성을 확보한다 라는 느낌이였는데
C++은 그렇게 인터페이스 위주로 상속 남발하고 하니 코드 다 터져 나감
그래서 상속을 최소한으로 쓰고
기존에 인터페이스로 묶었을만한, 다형성이 필요하다 싶은 부분을 거의다 템플릿 박아버리고
stl 이랑 최대한 비슷하게 네이밍 규칙을 마련해서 덕타이핑 하고있음
일단 잘 돌아가긴 하는데 뭔가 아닌 것 같음... 이렇게 하는거 맞음?
C#에서는 인터페이스 상속과 제네릭으로 다형성을 확보한다 라는 느낌이였는데
C++은 그렇게 인터페이스 위주로 상속 남발하고 하니 코드 다 터져 나감
그래서 상속을 최소한으로 쓰고
기존에 인터페이스로 묶었을만한, 다형성이 필요하다 싶은 부분을 거의다 템플릿 박아버리고
stl 이랑 최대한 비슷하게 네이밍 규칙을 마련해서 덕타이핑 하고있음
일단 잘 돌아가긴 하는데 뭔가 아닌 것 같음... 이렇게 하는거 맞음?
c++에서도 c# 같은 다형성 구현이 가능한데…? virtual 지정 안 해줬다거나 그런 거 아님? 소멸자를 무조건 virtual로 지정하는 것도 잊지 말아야 하고. 자식 객체를 부모 클래스처럼 사용할 때는 무조건 포인터나 참조자 써야 하고.
그렇게 하면 자바 스타일이고 타입에 묶인다면서 하지 말라는 글도 있던데 어떻게 생각하십니까
이펙티브 c++ 보셔요