객체지향

Category
아이템: 
포스트 갯수2

[C++] base 클래스(부모 클래스)의 초기화 순서

By 프로그래밍 일지 | 2019년 1월 18일 | 
[상속 관계에서 클래스의 초기화 순서에 대하여] Class가 생성될 경우 생성자가 호출된다. 이 클래스가 Base Class (부모 클래스)를 가진다면 유도된 (상속받은) Class 보다 먼저 초기화된다. Base Class의 초기화는 default 생성자를 사용하거나 유도된 Class에 작성된 base Class의 생성자를 사용하여 이루어진다. 그렇다면 다중 상속을 지원하는 C++에서 Base Class가 여러개 있을 경우 어떤 순서로 초기화가 되는 것일까? 다중 상속 Class 초기화 시 호출 순서는 아래의 기준으로 결정된다.Base Class들이 먼저 호출되는데 상속 시 나열한 순서 (아래 [코드 1]의 경우 30번 줄 참고) 대로 초기화.Member 객체들의 초기화생성자의 Code 아래의

[C++] dynamic_cast

By 프로그래밍 일지 | 2019년 1월 15일 | 
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include "pch.h"#include <iostream> using namespace std; class Parent {public: virtual void Print() {}};class Child_1 : public Parent {public: virtual void Print() { cout << "Child_1 is OK" << endl; }}; class Child_2 : public Parent {public: virtual void Print() { cout