Udostępnij za pośrednictwem


property (C++)

Programu Microsoft

Ten atrybut mogą być stosowane do niestatycznego "Członkowie wirtualnego danych" w definicji klasy lub struktury.Kompilator traktuje te "wirtualnego danych członków" jako członkowie danych, zmieniając ich odwołania do wywołania funkcji.

__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

Uwagi

Gdy kompilator widzi członka danych, zadeklarowanych z tego atrybutu po prawej stronie operatora wybranych elementów członkowskich ("."lub"->"), są konwertowane na operacji uzyskać lub put funkcji, w zależności od tego, czy takie wyrażenie jest l wartość lub wartość.W bardziej skomplikowane kontekstach, takie jak "+=", przeróbka jest wykonywane zarówno wykonując uzyskać i put.

Atrybut ten może również w deklaracji pustą tablicę w definicji klasy lub struktury.Na przykład:

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

Powyższe oświadczenie wskazuje, że x[] może być używany z jednego lub więcej indeksy tablicy.W tym przypadku i=p->x[a][b] zostaną przekształcone w i=p->GetX(a, b), i p->x[a][b] = i zostaną przekształcone wp->PutX(a, b, i);

KONIEC Microsoft szczególne

Przykład

// 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;
}

Zobacz też

Informacje

__declspec

Słów kluczowych języka C++