[C++][중급] 생성자와 가상함수


[C++][중급] 생성자와 가상함수

이번에는 생성자와 가상함수에 대해 간단히 알아보겠습니다. #include <iostream> class Base { public: Base() {} void foo() { vfunc(); } virtual void vfunc() { std::cout<<"Base vfunc" <<std::endl; } }; class Derived : public Base { int data{10}; public: virtual void vfunc() override { std::cout<<"Derived vfunc" << data << std::endl; } }; int main() { Derived d; d.foo(); } Base class 에서 vfunc()라는 가상함수를 만들었고, 파생클래스인 Derived 에서 vfunc()를 재정의 했습니다. main() 에서 Derived의 객체를 생성하고 foo() 함수를 호출했는데, 결국 Base class의 foo() 함수를 부르게 되고, Base...


#생성자

원문링크 : [C++][중급] 생성자와 가상함수