가상함수, 템플릿
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