c++다형성

c++다형성

작성일 2022.01.14댓글 1건
    게시물 수정 , 삭제는 로그인 필요

CWnd *p = GetDlgItem(IDC_EDIT);
p->SetWindowText("test");

이 코드에서 p가 cwnd의 자녀 클래스인
CEdit를 받아와서 p에서 CEdit 기능을
사용하고 있는데
이런게 다형성인가요?


#c++다형성

profile_image 익명 작성일 -

함수 호출말고 그 윗줄을 봅니다.

CEdit * p = GetDlgItem(IDC_EDIT);

이렇게 쓰지 않고, 그 상위 형식인

CWnd * p = GetDlgItem(IDC_EDIT);

이렇게 선언된 p라 하더라도

CWnd의 포인터형인 p가 그 하위 형식인 CEdit의 포인터 형에 상위 호환성을 갖고 받아들일 수 있는 것이 다형성입니다. 물론 GetDlgItem이라는 API에서부터 CEdit, CButton 등등을 CWnd로 일반화하여 반환하고 있죠.

이 다형성이 안 된다면 IDC_EDIT 하나를 얻기 위해서,

GetDlgItemByCEdit와 같은 이름을 가지고 CEdit만을 반환할 수 있는 API가 있어 주어야 하고

받는 입장에서도 CWnd로 일반화하지 못하고 CEdit로만 변수를 선언해야 하는 불편이 있겠죠.

무엇보다도 프로그래머가 코드 작성하는 단계에서 이미 IDC_EDIT는 반드시 CEdit 형임을 약속하고 알고 있는 상태여야 하겠죠...

이처럼 다형성은 클래스간 상속 관계에 따라서 그 타입으로 표현 및 보관이 가능한지 여부에 집중된 개념입니다.

c++ 다형성

c++ 다형성은 연산자 중복 / 함수 중복 / 오버라이딩 3가지가 있어요? 다른건 없어요? 상속에 의한 다형성이 있습니다. 예를들어 부모객체 = 자식객체; 이것이 성립을 하기...

c++다형성

... 이런게 다형성인가요? 함수 호출말고 그 윗줄을... 것이 다형성입니다. 물론 GetDlgItem이라는... 이 다형성이 안 된다면 IDC_EDIT 하나를 얻기 위해서...

C++ 다형성 질문입니다.

C++ 다형성에 관한 질문인데요. 다형성이 하나의 기능에 따라 서로 다르게 보이거나 다르게 작동하는 현상이자나여 혹시 " > 연산자" 가지고 다형성을...

C++ 다형성을 이용하는 이유

... 굳이 다형성을 이용하여 객체를 만드는 이유가 있나요? 다형성을 이용해 객체를 만들었을... 경우에 다형성을 사용하는지 예시같은 걸 같이...

c++ 다형성 질문

만약에 상속받은 클래스에 새롭게 멤버함수를 추가했을 때 메인함수에서 그 새롭게 추가한 멤버함수를 못 불러오나요...??? Component* b1...

c++ 형식의 다형성과 메서드의 다형

c++ 형식의 다형성과 메서드의 다형성 차이가 뭐에요? C++과 자바의 다형성 차이를 물어본것인지..??? C++은 virtual 키워드를 지정하므로써 멤머함수 동적바인딩되어 다형성을...

c++ 다형성 질문

C++ 언어의 특징 다형성을 >연산자로 설명하라는 문제가 있는데 +연산자는 알겠는데, >연산자는 모르겠습니다. 아시는 분은 알려주세요. > 연산자가 아니라 -> 연산자일 겁니다

C++다형성의 동적할당에 대한 질문..

... C++에서 다형성은 많이 쓰이고 있고 이에 따른 가상함수를 이용한 함수 오버라이딩 도 많이 사용되고 있기 때문입니다. 정말 중요한데 공부하고...

c++ 다형성에 대해서 질문드립니다.

... 클래스부터 시작해서 이젠 다형성까지 들어가서 학생관리프로그램에서 상속,다형성을 보이기 위해 교수클래스까지 추가를 했는데 교수님께서 원하시는 다형성이...