static casting

😎·2023년 1월 14일
0

CPP

목록 보기
34/46

static cast

두 가지 큰 특징이 있다. 묵시적 다운캐스트는 당연히 안되며, 상속 관계에 있는 클래스가 아니라면, static cast 가 불가능하다.

#include <iostream>

class Parent {};
class Child1 : public Parent {};
class Child2 : public Parent {};

class Unrelated {};

int main(void) {
  Child1  a;

  Parent *b = &a;           // Implicit upcast cast
  Child1 *c = b;            // Implicit downcast -> No!
  Child2 *d = static_cast<Child2 *>(b); // Explicit downcast

  Unrelated *e = static_cast<Child2 *>(b); // Explicit conversion -> No
  return 0;
}

profile
jaekim

0개의 댓글