파생류의 구조 함수와 분석 함수

파생 클래스의 구조 함수와 분석 함수:
파생류는 기류의 구조 함수와 분석 함수를 계승할 수 없으며 반드시 스스로 정의해야 한다.파생류와 기류의 특수한 관계로 인해 파생류의 구조 함수를 설계할 때 파생류의 새로운 데이터 구성원의 초기화를 고려해야 할 뿐만 아니라 기류 데이터 구성원의 초기화도 고려해야 한다.
파생류의 데이터 구성원은 모든 기류의 데이터 구성원과 파생류가 새로 추가한 데이터 구성원으로 공동으로 구성되기 때문에 파생류의 대상을 구성할 때 반드시 이 데이터 구성원을 초기화해야 한다.
파생류 구조 함수 초기화의 집행 순서: 먼저 기본 구조 함수 초기화 기본 데이터 구성원을 호출하고 하위 대상이 있으면 그 다음에 하위 대상의 초기화를 하고 마지막으로 파생류 추가 구성원을 초기화한다.파생류에 여러 개의 기류가 있을 때 같은 차원에 있는 각 기류의 구조 함수의 호출 순서는 기류의 성명 순서(왼쪽에서 오른쪽)에 달려 있다.
파생류의 분석 함수를 실행할 때 기류의 분석 함수도 자동으로 호출된다. 분석 파생류 대상의 절차 순서는 먼저 파생류의 분석 함수 분석 파생류 대상의 새로운 부분을 호출하고 만약에 이 파생류가 하위 대상을 포함한다면 다음에 하위 대상 부분을 분석하고 마지막으로 기류의 분석 함수 분석 기류 부분을 호출한다.
 
코드 예:
#include<iostream>
using namespace std;

class A
{
public:
	A()
	{
		cout<<" A "<<endl;
	}
	~A()
	{
		cout<<" A "<<endl;
	}
};

class B:public A
{
public:
	B()
	{
		cout<<" B "<<endl;
	}
	~B()
	{
		cout<<" B "<<endl;
	}
};

int main()
{
	B b;

	system("pause");
	return 0;
}

출력:
클래스 A의 구조 함수 호출
클래스 B의 구조 함수 호출
클래스 B의 분석 함수 호출
클래스 A의 분석 함수 호출

좋은 웹페이지 즐겨찾기