C++에서는 class와 struct가 구분되지 않는다는 것을 상기해보시면 도움이 될 것 같습니다. 실제로 C++의 클래스라는 것은 C의 단어로 바꾸어 어셈블리 레벨에서 생각해보면 함수포인터가 멤버로 들어있는 struct와 거의 동일합니다.
물론 C++의 언어적인 특성상 operator overloading이나 inheritance (특히 multiple inheritance) 등이 이런 형태의 코드 구성을 조금 쉽게 해주기는 합니다만, 실제로 이 것 때문에 C++이라는 언어자체가 ambiguity를 가지고 있는 것이기도 하지요.
저는 이런 형태의 코드를 무척 선호하는 편이라서 거의 항상 사용하지만 C라는 언어의 자체의 제약 때문에 귀찮은 일이 많습니다. 예를 들면 gtk의 widget들이 상속을 받기 위해서 사용하는 (로직과는 전혀 상관없는) 더미코드가 얼마나 많은지 보고 있노라면 답답해질 정도이니까요.
Object Oriented Programming with ANSI C
Object Oriented Programming with ANSI C 라는 책이 있더군요. 서점에서 뒤적거리다 우연히 봤습니다.
그리고 관련 문서도 굉장히 많은 것으로 알고 있습니다.
[url=http://www.mathematik.uni-ulm.de/sa
여기에 보시면 잘 나와있는데 독일어로 되어 있습니다.
영문 번역기로 돌린건 여기를 보시면 되는데 소스까지 번역이 되어 버려서 좀 이상하니 소스는 위의 독일어 버전을 보시면 됩니다.
=-=-=-=-=-=-=-=-=
http://youlsa.com
이건가요?http://www.planetpdf.com/codecu
이건가요?
http://www.planetpdf.com/codecuts/pdfs/ooc.pdf
GTK+ 도 C 언어로 되어 있는데 개체지향적으로 짜 놓았다고 들었습니다
GTK+ 도 C 언어로 되어 있는데 개체지향적으로 짜 놓았다고 들었습니다.
http://gtk.org
세벌 https://sebuls.blogspot.kr/
C++에서는 class와 struct가 구분되지 않는다는 것을 상기해보시
C++에서는 class와 struct가 구분되지 않는다는 것을 상기해보시면 도움이 될 것 같습니다. 실제로 C++의 클래스라는 것은 C의 단어로 바꾸어 어셈블리 레벨에서 생각해보면 함수포인터가 멤버로 들어있는 struct와 거의 동일합니다.
물론 C++의 언어적인 특성상 operator overloading이나 inheritance (특히 multiple inheritance) 등이 이런 형태의 코드 구성을 조금 쉽게 해주기는 합니다만, 실제로 이 것 때문에 C++이라는 언어자체가 ambiguity를 가지고 있는 것이기도 하지요.
저는 이런 형태의 코드를 무척 선호하는 편이라서 거의 항상 사용하지만 C라는 언어의 자체의 제약 때문에 귀찮은 일이 많습니다. 예를 들면 gtk의 widget들이 상속을 받기 위해서 사용하는 (로직과는 전혀 상관없는) 더미코드가 얼마나 많은지 보고 있노라면 답답해질 정도이니까요.
아... 디버깅이 조금 피곤하다는 단점도 있지요. :-)
....
POSA책 보면 도움이 됩니다..
-----------^^ ^^ ^^ ^^ ^^ ----------
..........................................................
댓글 달기