#include<iostream>
using namespace std;
class First
{
public:
void SimpleFunc() { cout << "First" << endl; };
};
class Second :public First
{
public:
virtual void SimpleFunc() { cout << "Second" << endl; };
};
int main(void)
{
First* ptr = new First();
ptr->SimpleFunc();
delete ptr;
ptr = new Second();
ptr->SimpleFunc();
delete ptr;
return 0;
}
void SimpleFunc() { cout << "First" << endl; };
이 부분을 virtual
로 하면 정상 작동하는데
안하면 에러 뜨네요.
마지막 delete ptr
에서 에러 뜨네요 이유가 뭐죠?