728x90
다형성
virtual 가상함수
#include<iostream>
#include<string>
using namespace std;
class A {
public:
virtual void f() { cout << "A" << endl; } //virtual 가상함수
};
class B : public A { //클래스 A 상속
public:
void f() { cout << "B" << endl; }
};
class C : public A { //클래스 A 상속
public:
void f() { cout << "C" << endl; }
};
int main()
{
A *p; //포인터 객체 생성
B b1;
C c1;
p = &b1; //상위 = 하위(주소)
p->f();
p = &c1;
p->f();
}
//상위타입 하위타입 객체 생성
댓글