C++ upcasting

    [C++] upcasting

    [C++] upcasting

    1. upcasting class Shape { public: int color; }; class Rect : public Shape { public: int x, y, w, h; }; int main() { Rect rect; Rect* p1 = ▭ // ok int* p2 = ▭ // error Shape* p3 = ▭ // ?? Shape& r = rect; // ?? } main함수를 살펴보자 1. Rect* p1 = ▭ - 서로 똑같은 타입으로 아무 문제 없이 ok. 2. int* p2 = ▭ - 이건 완벽히 다른 타입으로 error / 리인터프리터 캐스팅을 사용하면 가능 3. Shape* p3 = ▭ - 앞에 포인터가 Rect는 아니지만 기..