본문 바로가기
개발/C++

C++ 개념 정리 7일차 포스팅

by Eunduck 2022. 5. 21.
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( );

 

네이버 블로그 리뉴얼입니다.

(https://blog.naver.com/unsuk1/221442340055)

 

'개발 > 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

댓글