C++ 개념 정리 포스팅
안녕하십니까. Eun🦆입니다.
제가 공부하며 정리해둔 내용이 있어 포스팅하고자 합니다.
배움의 출처는 ‘열혈 C++ 프로그래밍’입니다.
7일차
61. private 상속
62. person *ptr; // 포인터 변수 선언
ptr = new person ( ) ; // 포인터 변수의 객체 참조
→ person 형 포인터는 person 객체 뿐만 아니라 person을 상속하는 유도 클래스의 객체도 가리킬 수 있다.
63. CCC → BBB → AAA
class BBB : public AAA
class CCC : public BBB
→ CCC는 AAA이다 <-> CCC는 AAA 일종이다
AAA 포인터 변수는 AAA 객체 뿐 아니라 BBB 객체, CCC 객체로 가리킬 수 있다.
64. 오버라이딩
유도 클래스에서 기초 클래스에서의 동일한 이름과 형태로 두 함수를 지정하면 기초 클래스의 함수는 유도 클래스의 함수에
가려진다.
65. Seller.permanentWorket :: ShowSalaryInfo ( );
// Seller 객체의 permanentWorker 클래스에 정의된 ShowSalaryInfo 함수 호출
66. 가상 함수
C++ 컴파일러는 포인터 연산의 가능성 여부를 판단할 때, 포인터의 자료 형을 기준으로 판단하지, 실제 가리키는 객체의 자료 형을
기준으로 판단하지 않는다.
67. class Derived : public Base
Base * bptr = new Derived ( ) ; // OK
bptr → DerivedFunc ( ); // X, 문법
Derived * bptr = new Derived ( ); // OK
Base * bptr = dptr; // OK
→ 상속 받는 유도 클래스에서 기초 클래스 함수 동작 OK, 기초 클래스에서 유도 클래스 함수까지 고려 X
68. 가상 함수
// 함수를 오버라이딩 했다는 것은 해당 객체에서 호출 되어야 하는 함수를 바꾼다는 의미인데,
포인터 변수의 자료 형에 따라서 호출되는 함수의 종류가 달라지는 것은 문제가 있다.
→ virtual 가상 함수 선언
→ 이 함수를 오버라이딩 하는 함수도 가상 함수
→ 포인터 변수가 실제로 가리키는 객체를 참조하여 호출
69. 순수 가상 함수 / 추상 클래스
함수의 몸체가 정의되지 않은 함수 / 하나 이상의 멤버 함수를 순수 가상 함수로 선언한 클래스
→ virtual 가상 함수 선언
→ 이 함수를 오버라이딩 하는 함수도 가상 함수
→ 포인터 변수가 실제로 가리키는 객체를 참조하여 호출
69. 순수 가상 함수 / 추상 클래스
함수의 몸체가 정의되지 않는 함수 / 하나 이상의 멤버 함수를 순수 가상 함수로 선언한 클래스
virtual int GerPay( ) const = 0; // 순수 가상 함수
70. 다형성
// 오버라이딩으로 동일한 포인터 변수로 실행 결과가 다름
Ptr → SimpleFunc( );
네이버 블로그 리뉴얼입니다.
'개발 > C++' 카테고리의 다른 글
C++ 개념 정리 9일차 포스팅 (0) | 2022.05.21 |
---|---|
C++ 개념 정리 8일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 6일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 5일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 4일차 포스팅 (0) | 2022.05.21 |
댓글