c++ 문법 질문

조회수 714회

안녕하세요, 다음 코드가 동작하는 매커니즘이나 문법이 뭘까요? testFunc() 함수는 D 오브젝트를 인자로 받는데, C 오브젝트 포인터를 넣어주어도 동작을 합니다.

#include <iostream>

class C
{
public:
  C (){}
};

struct D
{
protected:
  C *node_{nullptr};
public:
  D() = default;
  D(C *c) { node_ = c;};

};

void testFunc(D input){
  std::cout << "Hello, World!" << std::endl;
}
int main() {
  C* c = new C();
  testFunc(c);

  return 0;
}

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)