특수 멤버 함수 (C++)
C + + 클래스 멤버만으로 여러 종류의 함수를 선언할 수 있습니다 정의-이 "특별 한 멤버 함수." 라고 이러한 함수가 지정 된 클래스의 개체, 소멸, 복사를 만들고 다른 형식의 개체로 변환 하는 방법을 영향을 줍니다.다른 중요 한 속성의 대부분은 이러한 함수는 암시적으로 (컴파일러에서) 호출할 수 있습니다.
이 섹션에 설명 된 특수 멤버 함수는 다음과 같습니다.
생성자.개체의 자동 초기화를 사용 합니다.
소멸자가.명시적 또는 암시적으로 개체 삭제 됩니다 후 정리를 수행 합니다.
변환 함수.클래스 형식 및 다른 형식 사이 변환 합니다.
연산자 새 함수.동적으로 저장소를 할당합니다.
연산자 함수를 삭제 합니다..사용 하 여 할당 된 저장소 해제는 새 연산자입니다.
할당 연산자 (연산자 =).배정에 발생 하는 경우에 사용 합니다.
앞의 목록에 있는 항목은 각 클래스에 대해 사용자 정의 될 수 있습니다.
특수 멤버 함수가 다른 멤버 함수와 같은 액세스 규칙을 지켜 주세요.액세스 규칙 설명 멤버 액세스 제어.멤버와 friend 함수 동작 방식을 다음 표에 요약 되어 있습니다.
함수 동작의 요약
함수 형식 |
함수가 기본 클래스에서 상속 됩니다. |
함수는 가상 수 있습니까? |
함수가 값을 반환할 수 있습니다? |
함수 멤버 또는 친구 입니까? |
사용자가 표시 되지 않는 경우 컴파일러는 함수를 생성 합니까? |
---|---|---|---|---|---|
생성자 |
아니요 |
아니요 |
아니요 |
멤버 |
예 |
복사 생성자 |
아니요 |
아니요 |
아니요 |
멤버 |
예 |
소멸자 |
아니요 |
예 |
아니요 |
멤버 |
예 |
변환 |
예 |
예 |
아니요 |
멤버 |
아니요 |
배정 (operator=) |
아니요 |
예 |
예 |
멤버 |
예 |
new |
예 |
아니요 |
void* |
정적 멤버 |
아니요 |
삭제 |
예 |
아니요 |
void |
정적 멤버 |
아니요 |
다른 멤버 함수 |
예 |
예 |
예 |
멤버 |
아니요 |
Friend 함수 |
아니요 |
아니요 |
예 |
Friend |
아니요 |