일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- matlab 영상처리
- 골빈해커
- C언어 공부
- 딥러닝 스터디
- c언어 정리
- 미디언 필터링
- TensorFlow
- 김성훈 교수님 PyTorch
- c언어
- 케라스 정리
- object detection
- 컴퓨터 비전
- MFC 프로그래밍
- c++
- 파이토치
- 딥러닝 공부
- 영상처리
- 모두의 딥러닝
- Pytorch Lecture
- 해리스 코너 검출
- pytorch
- pytorch zero to all
- 딥러닝
- tensorflow 예제
- 모두의 딥러닝 예제
- 가우시안 필터링
- 팀프로젝트
- 파이토치 강의 정리
- c++공부
- 파이토치 김성훈 교수님 강의 정리
Archives
- Today
- Total
ComputerVision Jack
[C++프로그래밍 Chapter9] 본문
반응형
[가상 함수의 동작원리]
virtual로 선언된 가상함수가 있다면, 한 개 이상의 가상 함수를 포함하는 클래스에 대해서는
컴파일러가 가상 함수 테이블을 만든다. V-Table
가상 함수 테이블은 key와 value가 있다.
key : 호출 하는 함수를 구분하는 구분자 역할
value : 구분자에 해당하는 함수의 주소 정보를 알려준다.
따라서 C++의 언어는 가상함수 테이블을 참조하기 때문에 실행 시간이 저하된다.
[다중 상속(Multiple Inheritance)]
다중 상속(Multiple Inheritance)
둘 이상의 클래스를 동시에 상속하는 것.
class Three : public One, protected Two{
클래스 내용
};
다중상속의 모호성(Ambiguous)
상속 받는 두 클래스에 대해 동일한 이름의 멤버 변수가 존재하는 경우
어떤 클래스 멤버에 접근해야 하는지 어려움이 존재한다.
One::function1();
Two::function1();
앞에서 어떤 클래스에서 왔는지 명시한다.
가상 상속(Virtual Inheritance)
하나의 클래스를 상속 받는 두개의 클래스를 상속받는 클래스가 있는 경우,
최상단 클래스를 두번 상속받는 문제점이 존재
따라서 어떤 클래스를 간접 상속한 것인지 명시한다.
MiddleOne :: function();
MiddleTwo :: function();
최상단 클래스가 한번만 상속하게 하는 것이 효과적이다.
상속 앞에 virtual public Base를 붙여 가상 상속으로 만들어서 한번만 상속되게 한다.
반응형
'Programming Language > C++ Programming' 카테고리의 다른 글
[C++프로그래밍 Chapter11] (0) | 2020.02.01 |
---|---|
[C++프로그래밍 Chapter10] (0) | 2020.01.31 |
[C++프로그래밍 Chapter8] (0) | 2020.01.29 |
[C++프로그래밍 Chapter7] (1) | 2020.01.28 |
[C++프로그래밍 Chapter6] (0) | 2020.01.23 |
Comments