클래스 멤버 선언 구문입니다.

일반적으로 클래스 데이터 멤버와 함수 멤버 선언에 대 한 규칙 선언 됩니다.구성,이 순서로 됩니다.

  • 선언 지정자입니다.클래스에는 저장소 클래스 지정자 정적변경할 수 에 대 한 데이터 구성원은 허용 됩니다.Cv 한정자 const 및 volatile 데이터와 함수 멤버를 사용할 수 있습니다.선언 지정자 friend, 정적, 가상인라인 있지만 함수를 사용할 수 friend 멤버 함수를 나타냅니다.

  • 이니셜라이저 없이 선언 자 있습니다.가상 함수를 폼의 순수 지정자의 = 0 함수 선언 자 후 (해당 클래스를 구현 하지 않고 가상 함수) 순수 가상 함수를 지정할 수 있습니다.

  • 선택적으로, 비트 필드입니다.참조 하십시오 비트 필드.

또는

  • 함수를 정의 합니다.클래스에 정의 된 함수를 포함할 수 있습니다.멤버 함수가 정의 되어 있으면 인라인으로 자동으로 간주 됩니다.

또는

데이터 멤버는 선언할 수 없습니다 자동, extern, 또는 등록 저장소 클래스입니다.그러나, 수 수, 있는 것으로 선언 된 정적 저장소 클래스입니다.

때 사용자가 선언 된 friend 클래스는 멤버 목록에 멤버 선언 자 목록에서 생략할 수 있습니다.친구에 대 한 자세한 내용은 지정자 friend친구.클래스 이름 설명 하지 않으면에서 사용할 수 있는 friend 선언.이 friend 이름을 선언에 소개 합니다.그러나 이러한 클래스 멤버 선언에서 정교한 형식 지정자 구문, 다음 예제에 표시 된 대로 사용 되어야 합니다.

// class_member_declaration_syntax.cpp
// compile with: /c
struct HasFriends {
   friend class NotDeclaredYet;
};

앞의 예제에서는 있을 없음 멤버 선언 자 목록 클래스를 선언한 후.때문에 선언에 대 한 NotDeclaredYet 된 처리 수는 아직 정교한 형식 지정자 양식을 사용: class NotDeclaredYet.선언 된 형식을 지정할 수 있습니다 한 friend 멤버 선언의 일반 형식 지정자를 사용 하 여:

// class_member_declaration_syntax2.cpp
// compile with: /c
struct AlreadyDeclared {};

struct HasFriends {
   friend AlreadyDeclared;
};

(다음 예제에 표시 된)는 순수 지정자를 선언 되 고 가상 함수에 대해 구현이 제공 되지 않음을 나타냅니다.따라서 순수 지정자는 가상 함수에만 지정할 수 있습니다.다음 예제를 고려해 보십시오.

// class_member_declaration_syntax3.cpp
// compile with: /c
class StrBase {   // Base class for strings.
public:
   virtual int IsLessThan( StrBase& ) = 0;
   virtual int IsEqualTo( StrBase& ) = 0;
   virtual StrBase& CopyOf( StrBase& ) = 0;
};

앞의 코드는 추상 기본 클래스를 선언-즉, 특정 클래스의 기본 클래스로 사용 하기 위한 클래스입니다.파일을 적용할 수 있습니다. 기본 클래스와 같은 특정 프로토콜 또는 순수 지정자를 사용 하 여 "순수한" 가상 함수를 하나 이상의 가상 함수를 선언 하 여 기능을 합니다.

상속 하는 클래스는 StrBase 클래스는 순수 가상 함수;에 대 한 구현을 제공 해야 그렇지 않으면, 이러한 추상 기본 클래스도 간주 됩니다.

개체 선언에 추상 기본 클래스를 사용할 수 없습니다.상속 된 형식의 개체를 하기 전에 예를 들어, StrBase 선언할 수 있습니다, 함수 IsLessThan, IsEqualTo, 및 CopyOf 구현 해야 합니다.(추상 기본 클래스에 대 한 자세한 내용은 추상 클래스입니다.)

참고 항목

참조

클래스 멤버