// 1. 가상함수- 실행시간다형성
// 2. 템플릿  - 컴파일시간다형성
// 3. 오버로딩- 컴파일시간
class
{
public:
        virtual void Cry() {}  // 1
};
class Dog : public Animal
{
public:
        virtual void Cry() {}  // 2
};
template<typename T> void foo( T a )  // Cry라는함수가없다면에러가나온다.
{
        a.Cry();       // 다형성-> 컴파일타임에결정된다. ( type을알고있다. )
}
void foo( Animal* p )  // Animal의자식들만받는다.
{
        p->Cry();      // 1 ? 2 다형성-> 실행시간다형성( 메모리를찾아간다. )
}
							Tag | C++
						
					
					
					






