Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Oops/내용/2014.10.31: Difference between revisions

From ZeroWiki
imported>flyjsw
No edit summary
(Quality repair v1)
 
(4 intermediate revisions by 2 users not shown)
Line 7: Line 7:


== 가상 함수 ==
== 가상 함수 ==
* vtable을 이용해 가상함수가 구현됨: [[http://soen.kr/lecture/ccpp/cpp3/30-1-4.png 스터디에 사용한 자료]]
* vtable을 이용해 가상함수가 구현됨: [http://soen.kr/lecture/ccpp/cpp3/30-1-4.png 스터디에 사용한 자료]
* 순수 가상 함수: 클래스 뼈대를 만들 때 이용
* 순수 가상 함수: 클래스 뼈대를 만들 때 이용
* 소멸자는 그 특성상 가상함수로 만드는 것이 적절하다
** 부모 포인터형에서 delete할 때 자식 클래스 멤버가 적절히 소멸되지 않을 수 있다


== 3가지 casting ==
== 3가지 casting ==
Line 15: Line 17:
* const_cast : 상수성 제거. 무슨 생각으로 이 짓거릴 하는 지 정확히 알고 쓰기 바람
* const_cast : 상수성 제거. 무슨 생각으로 이 짓거릴 하는 지 정확히 알고 쓰기 바람


== 다음 스터디 ==
* template에 대해 스터디합니다

Latest revision as of 04:58, 27 March 2026

요약

  • C++의 가상 함수(virtual function)의 동작 원리에 대한 공부
  • C++의 3가지 casting에 대한 공부
    • static_cast
    • dynamic_cast
    • const_cast

가상 함수

  • vtable을 이용해 가상함수가 구현됨: 스터디에 사용한 자료
  • 순수 가상 함수: 클래스 뼈대를 만들 때 이용
  • 소멸자는 그 특성상 가상함수로 만드는 것이 적절하다
    • 부모 포인터형에서 delete할 때 자식 클래스 멤버가 적절히 소멸되지 않을 수 있다

3가지 casting

  • static_cast : compile-time에 casting의 안정성 판단
  • dynamic_cast : run-time에 casting의 안정성 판단
  • const_cast : 상수성 제거. 무슨 생각으로 이 짓거릴 하는 지 정확히 알고 쓰기 바람

다음 스터디

  • template에 대해 스터디합니다