[C++] VIRTUAL FUNCTION - 가상 함수
가상 함수 - 추상 메소드의 한 종류 - 많이 쓰면 쓸수록 메모리 낭비가 생길 수 있다 - 사용자가 동적 바인딩을 항상 쓰지 않기 때문에 가상 함수를 쓴다 - 오버라이딩을 할 때 무조건 가상함수를 쓴다고 생각하면 된다 int a int b *vptr 가상함수를 사용하면 *vptr의 공간이 생긴다 소멸자에서 무조건 생성해야함 #include "stdafx.h" #include using namespace std; class A { public : A() { cout
LANGUAGE/C++
2018. 3. 13. 13:34
[C++] MULTIPLE INHERITANCE - 다중 상속
동적 바인딩 - 부모의 포인터로 자식을 접근하는 방식 - is ~a 관계일때만 사용 가능 //has ~a로 상속받으면 오류 - 동적 바인딩과 정적 바인딩의 방식은 다르지만, 결과는 같아야 한다 정적 바인딩 : 내꺼를 가지고 접근 단일 상속을 원칙으로 하되, 필요에 의해 다중 상속을 한다 #다중 상속 할때, 상속 방식을 꼭! 명시해야함 - private으로 자동으로 상속됨 다중 상속의 복잡성 만나는 구조로 상속을 받으면 같은게 2개를 상속 받아 쓰므로 터짐! -> 해결 : 가상상속 다중 상속 가상 상속 D가 어떤 부모 클래스 (B, C)를 사용할지에 따라 A를 사용하는 클래스가 지정되어 사용된다 다중 상속 주의점 1. 상속 방식을 명확하게 기재 2. 모호성 조심 -> 발생할 수 밖에 없는 상황이라면 가상 ..
LANGUAGE/C++
2018. 3. 13. 09:42