개요
예제
- 코드
#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
class Base {
public:
Base(){};
virtual ~Base() {}
virtual void func() { cout << "Base::func call" << endl; }
};
class Derived : public Base {
public:
Derived() : Base(){};
virtual ~Derived() {}
virtual void func() override { cout << "Derived::func call" << endl; }
};
int main() {
const int number = time(NULL) % 2;
cout << number << endl;
Base *base = NULL;
if (number) {
base = new Base;
} else {
base = new Derived;
}
base->func();
if (base != NULL) {
delete base;
base = NULL;
}
return 0;
}
- 실행 결과 1
- 실행 결과 2