튜기's blogggg

가상함수, 템플릿

by St1tch

완전 가상함수의 형식 : Vitrual 반환형 함수명() = 0

 

추상클래스 완전가상함수를 한 개 이상 포함한 클래스로객체를 생성할 수 없다기반클래스 역할을 한다.


정적 바인딩 – 컴파일할 때 미리 호출될 함수를 결정

                   컴파일시점에서는 선언된 포인터 변수의 자료형에 대한 정보만 있다.

 

동적 바인딩 -  실행시점에 호출할 멤버함수를 결정한다.

                   동적바인딩할 함수의 기반클래스에 가서 virtual을 앞에 붙이면된다.

 

                   메모리를 많이 차지하고 실행 속도면에서 ↓


템플릿함수

함수의 정의부 위에 템플릿 선언을 해주어야한다.

template <typename T>

T myabs(T num){ … }

 

템플릿클래스

클래스를 정의할 때 위에 템플릿 선언을 해준다. Template <typename DATATYPE>

각각의 멤버함수를 정의할 때 위에 템플릿 선언을 해주어야하고멤버함수를 정의할 때 스코프 연산자 앞에 붙는 클래스명 다음에도 <DATATYPE>을 붙인다.

template <typename DATATYPE>

class Test{

DATATYPE value ;

public :

Test(DATATYPE v) ;

}

 

Template <typename DATATYPE>

Test<DATATYPE>::Test(DATATYPE v){

Value = v ;

 

}


블로그의 정보

튜기's blogg(st1tch)

St1tch

활동하기