C++을 공부하던 도중 함수에 new를 섞어 사용하는 부분 이해가 안가네요 class worker{ private : ...
public : worker(char *name , int money){...}
main(){ handler.add(new worker("xxx" , 1000)); }
여기에서 new를 왜 사용하는지 이해가 안되네요
handler 가 뭔지는 모르지만
아마 함수원형이
add(worker* pWorker);
이런식이 아닐까요.?
포인터에 대한 이해가 좀 더 필요해보이십니당.
그렇게 되면 동적 할당으로 pWorker를 생성하게 되는건가요?
객체를 생성한다고 생각하는게 좋습니다.
힙영역에 worker 객체를 생성(worker 클래스의 vtable 크기만큼 메모리를 할당)한 후에 해당 객체의 포인터를 add() 함수에 파라미터로 넘겨주는것입니다.
이제야 이해가 가네요 ㅎㅎ 감사합니다
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
handler 가 뭔가요 @_@?
handler 가 뭔지는 모르지만
아마 함수원형이
add(worker* pWorker);
이런식이 아닐까요.?
포인터에 대한 이해가 좀 더 필요해보이십니당.
pWorker가 동적 할당 되는건가요?
그렇게 되면 동적 할당으로 pWorker를 생성하게 되는건가요?
동적할당?
객체를 생성한다고 생각하는게 좋습니다.
힙영역에 worker 객체를 생성(worker 클래스의 vtable 크기만큼 메모리를 할당)한 후에
해당 객체의 포인터를 add() 함수에 파라미터로 넘겨주는것입니다.
감사합니다
이제야 이해가 가네요 ㅎㅎ 감사합니다
댓글 달기