다음을 통해 공유


property (C++)

Microsoft 전용

클래스 또는 구조체 정의에서 비정적에 "가상 데이터 구성원"이이 특성을 적용할 수 있습니다.컴파일러가 "가상 데이터 멤버" 데이터 멤버와 함수 호출을 해당 참조를 변경 하 여 처리 합니다.

__declspec( property( get=get_func_name ) ) declarator
__declspec( property( put=put_func_name ) ) declarator
__declspec( property( get=get_func_name, put=put_func_name ) ) declarator

설명

컴파일러 멤버 선택 연산자의 오른쪽에이 특성으로 선언 된 데이터 멤버를 볼 때 ("."또는"->")을 작업으로 변환는 가져오기 또는 배치 식 l 값 또는 r-value에 따라 함수를.자세한 내용은 컨텍스트 등 복잡 한 "+=", 둘 다를 수행 하 여 다시 작성을 수행할 얻을배치.

클래스 또는 구조체 정의에서 빈 배열 선언에이 특성을 사용할 수도 있습니다.예를 들면 다음과 같습니다.

__declspec(property(get=GetX, put=PutX)) int x[];

위의 문은 나타냅니다 x[] 하나 이상의 배열 인덱스를 사용할 수 있습니다.이 경우 i=p->x[a][b] 로 설정 되어 i=p->GetX(a, b), 및 p->x[a][b] = i 로 설정 됩니다p->PutX(a, b, i);

Microsoft 특정 끝

예제

// declspec_property.cpp
struct S {
   int i;
   void putprop(int j) { 
      i = j;
   }

   int getprop() {
      return i;
   }

   __declspec(property(get = getprop, put = putprop)) int the_prop;
};

int main() {
   S s;
   s.the_prop = 5;
   return s.the_prop;
}

참고 항목

참조

__declspec

C + + 키워드