본문 바로가기
Language/C++ & openGL

C++ 다형성 가상함수 이해 간단 코드

by javapp 자바앱 2019. 1. 23.
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();

}



//상위타입 하위타입 객체 생성


댓글