티스토리 뷰
클래스를 상속받았고 업캐스팅이 되었을 때 어떤 함수를 콜 하는지 알 수 있음
하나의 이름으로 여러작업을 할 수 있는 다형성 가능
런타임 시 컴퓨터 입장에서
어? virtual 가 붙어있네? 이거 실제 객체 맞어? 맞네
어? virtual 가 붙어있네? 이거 실제 객체 맞어? 아니네 다른 놈이네
이렇게 컴파일 단계에서 어떤 함수가 실행될 지 정해지지않고 런타임 시에 정해지는 것을
동적 바인딩
class Parents
{
virtual void Function()
{
std::cout << "부모" << std::endl;
}
}
class A : public Parents
{
void Function() override
{
std::cout << "A" << std::endl;
}
}
class B : public Parents
{
void Function() override
{
std::cout << "B" << std::endl;
}
}
int main(0
{
Parents* pParents = new Parents();
Parents* pP_A = new A();
Parents* pP_B = new B();
pParents->Function();
pP_A->Function();
pP_B->Function();
}
출력 결과
부모
A
B
'C++ > Skill (기본지식, 모던C++)' 카테고리의 다른 글
모던C++) std::ifstream 파일 읽기 (0) | 2020.05.14 |
---|---|
모던C++) set, map, multiset, multimap, unordered_set, unordered_map (0) | 2020.04.06 |
기본지식 : 메모리) 가상 메모리 / 코드,데이터,스택,힙 (0) | 2020.03.18 |
기본지식 : 생성자) 복사 생성자 (0) | 2020.03.18 |
기본지식 : 포인터.3) 함수 포인터 (0) | 2020.03.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- C
- UE4
- c++
- double free
- rotator
- 람다
- unrealengine
- c++11
- 람다함수
- Lambda
- LambdaFunction
- bug
- UE5
- coordinate system
- Trouble shooting
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함