본문 바로가기
반응형

가상 함수2

C++] 가상 함수를 생성자에 사용하면?? 최근 기업 시험을 보는데 이런 문제가 나왔습니다. "가상함수를 생성자에 사용한다면 어떻게 되는가?" 이 문제를 봣을 때 "이건 뭐지??" 라는 생각이 먼저 들었습니다. 왜냐하면 생성자에서 가상함수를 호출할 생각 자체를 제 평생 한번도 해본적이 없기 때문입니다. 왜냐?? 사용할 이유가 없으니깐요.... 가상 함수니깐요.... 가상 함수의 의미는? overriding 이죠. 다형성이죠. 또한 순수 가상 함수는 재 정의를 해줘야하는 함수입니다. 재 정의를 해야할 함수를 생성자를 통해 호출을한다?? 아마 사용자의 실수로 호출을 하지 않을까... 싶네요....코드가 길어지면 어느 클래스에 어떤 맴버함수가 있는지 잘 기억이 안나니깐 말이죠... 그래서 저는.... 찾아보고....경험해보고.... 그래서 이 글을 쓰.. 2020. 6. 22.
C++ 순수 가상 함수란? 추상 클래스란??(pure virtual function, abstract class) 1. 순수 가상 함수란?(pure virtual function) C++에서의 순수 가상 함수란 무엇일까요?? virtual void foo() = 0; 이렇게 생긴 녀석들을 순수 가상함수라고 부릅니다. (pure virtual function) 함수의 정의가 이뤄지지 않고 함수만 선언한 것이지요. 이렇게 선언된 순수 가상 함수가 있다면 이를 추상클래스(abstract class)라고 부릅니다. 또한 이 추상클래스는 객체로 만들지 못하고 상속으로써만 사용됩니다. 그리고 추상클래스를 상속받은 자식 클래스는 무조건 해당 순수 가상 함수를 override 시켜줘야 합니다. 이 추상클래스, 순수 가상 함수가 어떤 이점이 있으며, 어느 상황에 사용하는지 설명함에 앞서 함수 객체의 생성이 안되는지부터 확인해보겠습니.. 2020. 6. 20.
728x90
반응형

스킨편집 -> html 편집에서