Aracılığıyla paylaş


struct (C++)

struct anahtar sözcüğü bir yapı türünü ve/veya bir yapı türünün değişkenini tanımlar.

Sözdizimi

[template-spec] struct [ms-decl-spec] [tag [: base-list ]]
{
   member-list
} [declarators];
[struct] tag declarators;

Parametreler

şablon belirtimi
İsteğe bağlı şablon belirtimleri. Daha fazla bilgi için bkz . Şablon Belirtimleri.

struct
struct anahtar sözcüğü.

ms-decl-spec
İsteğe bağlı depolama sınıfı belirtimi. Daha fazla bilgi için __declspec anahtar sözcüğüne bakın.

tag
Yapıya verilen tür adı. Etiket yapı kapsamında ayrılmış bir sözcük haline gelir. Etiket isteğe bağlıdır. Atlanırsa, anonim bir yapı tanımlanır. Daha fazla bilgi için bkz . Anonim Sınıf Türleri.

temel liste
Bu yapının üyelerini derleyeceği isteğe bağlı sınıf veya yapı listesi. Daha fazla bilgi için bkz . Temel Sınıflar . Her temel sınıf veya yapı adının önünde bir erişim tanımlayıcısı (genel, özel, korumalı) ve sanal anahtar sözcük bulunabilir. Daha fazla bilgi için Sınıf Üyelerine Erişimi Denetleme'deki üye erişim tablosuna bakın.

üye listesi
Yapı üyeleri listesi. Daha fazla bilgi için Sınıf Üyesine Genel Bakış'a bakın. Buradaki struct tek fark yerine kullanılmasıdır class.

Declarators
Yapının adlarını belirten bildirimci listesi. Bildirimci listeleri yapı türünün bir veya daha fazla örneğini bildirir. Bildirimciler, yapının publictüm veri üyeleri ise başlatıcı listeleri içerebilir. Veri üyeleri public varsayılan olarak olduğundan, başlatıcı listeleri yapılarda yaygındır. Daha fazla bilgi için bkz . Bildirimcilere Genel Bakış.

Açıklamalar

Yapı türü, kullanıcı tanımlı bileşik bir türdür. Farklı türlere sahip olabilen alanlar veya üyelerden oluşur.

C++ dilinde bir yapı, üyeleri public varsayılan olarak olması dışında bir sınıfla aynıdır.

C++/CLI'da yönetilen sınıflar ve yapılar hakkında bilgi için bkz . Sınıflar ve Yapılar.

Bir Yapı Kullanma

C'de, bir yapıyı bildirmek için anahtar sözcüğünü struct açıkça kullanmanız gerekir. C++'ta, tür tanımlandıktan sonra anahtar sözcüğünü kullanmanız struct gerekmez.

Yapı türü kapanış küme ayracı ile noktalı virgül arasına bir veya daha fazla virgülle ayrılmış değişken adı yerleştirilerek tanımlandığında değişkenleri bildirme seçeneğine sahip olursunuz.

Yapı değişkenleri başlatılabilir. Başlatma her değişken için ayraç içine alınmalıdır.

İlgili bilgiler için bkz . sınıf, birleşim ve sabit listesi.

Örnek

#include <iostream>
using namespace std;

struct PERSON {   // Declare PERSON struct type
    int age;   // Declare member types
    long ss;
    float weight;
    char name[25];
} family_member;   // Define object of type PERSON

struct CELL {   // Declare CELL bit field
    unsigned short character  : 8;  // 00000000 ????????
    unsigned short foreground : 3;  // 00000??? 00000000
    unsigned short intensity  : 1;  // 0000?000 00000000
    unsigned short background : 3;  // 0???0000 00000000
    unsigned short blink      : 1;  // ?0000000 00000000
} screen[25][80];       // Array of bit fields

int main() {
    struct PERSON sister;   // C style structure declaration
    PERSON brother;   // C++ style structure declaration
    sister.age = 13;   // assign values to members
    brother.age = 7;
    cout << "sister.age = " << sister.age << '\n';
    cout << "brother.age = " << brother.age << '\n';

    CELL my_cell;
    my_cell.character = 1;
    cout << "my_cell.character = " << my_cell.character;
}
// Output:
// sister.age = 13
// brother.age = 7
// my_cell.character = 1