|
구조체와 클래스는 데이타 운용면에서 동일합니다.
sizeof(구조체) 는 해당 구조체의 모든 멤버 데이타의 크기(지역변수가 아닌)가 메모리에 배치된 크기를 의미하고요.
클래스 역시 마찬가지입니다.
구조체건 클래스건 멤버함수를 가질 수 있고요.
고로 상관없습니다. 컴퓨터는 데이타와 코드 말곤 구분하지 않으니까요.
C++ 컴파일러는 그런 데이타와 코드의 효율적인 운용을 위해 노출성/은닉성, 스코프, 권한관리 등을 해 줄 뿐입니다.
하지만, 객체의 메소드나 이벤트가 발생하기 위해서는, 말 그대로 함수가 호출되길 원한다는거니까,
두 가지가 필요하겠죠.
하나는 callee (호출될 함수) 입니다. 물론 클래스 안에 구현해 주실테고요.
하나는 caller (호출하는 쪽) 입니다. 이건 Virtual String Tree 쪽에서 구현되어야 할 것으로 보이네요.
만약 구현되어 있다 하더라도 그렇다면 단순히 포인터 타잎과 크기가 아니라 어떤 형태의 부모 클래스를 통해
기본적인 규격을 정했어야 할테니, 그런게 없다면 동작하지 않는다고 보는게 맞습니다.
AutuMn 님이 쓰신 글 :
: 안녕하세요.
:
: Virtual String Tree 에 Node Size 를 설정 하는 부분에서
:
: 예제들을 보면 대부분 구조체더군요.
:
: 여기에 클래스를 지정해도 상관없습니까?
:
:
: 더 나아가..
:
: 노드가 추가 되면서
:
: 객체의 메소드 내지는 이벤트가 발생 했으면 하는데요.
:
: 가능 할까요?
|