Bagikan melalui


struct (C++)

Kata struct kunci mendefinisikan jenis struktur dan/atau variabel jenis struktur.

Sintaks

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

Parameter

spesifikasi templat
Spesifikasi templat opsional. Untuk informasi selengkapnya, lihat Spesifikasi Templat.

struktur
Kata kunci struct.

ms-decl-spec
Spesifikasi kelas penyimpanan opsional. Untuk informasi selengkapnya, lihat kata kunci __declspec .

tag
Nama jenis yang diberikan ke struktur. Tag menjadi kata yang dicadangkan dalam cakupan struktur. Tag bersifat opsional. Jika dihilangkan, struktur anonim ditentukan. Untuk informasi selengkapnya, lihat Jenis Kelas Anonim.

daftar dasar
Daftar opsional kelas atau struktur struktur ini akan memperoleh anggotanya. Lihat Kelas Dasar untuk informasi selengkapnya. Setiap kelas dasar atau nama struktur dapat didahului oleh penentu akses (publik, privat, dilindungi) dan kata kunci virtual . Lihat tabel akses anggota di Mengontrol Akses ke Anggota Kelas untuk informasi selengkapnya.

daftar anggota
Daftar anggota struktur. Lihat Gambaran Umum Anggota Kelas untuk informasi selengkapnya. Satu-satunya perbedaan di sini adalah yang struct digunakan sebagai pengganti class.

deklarator
Daftar deklarator yang menentukan nama struktur. Daftar deklarator mendeklarasikan satu atau beberapa instans jenis struktur. Deklarator dapat menyertakan daftar penginisialisasi jika semua anggota data struktur adalah public. Daftar inisialisasi umum dalam struktur karena anggota data secara public default. Lihat Gambaran Umum Deklarator untuk informasi selengkapnya.

Keterangan

Jenis struktur adalah jenis komposit yang ditentukan pengguna. Ini terdiri dari bidang atau anggota yang dapat memiliki jenis yang berbeda.

Di C++, struktur sama dengan kelas kecuali bahwa anggotanya secara public default.

Untuk informasi tentang kelas dan struktur terkelola di C++/CLI, lihat Kelas dan Struktur.

Menggunakan Struktur

Di C, Anda harus secara eksplisit menggunakan struct kata kunci untuk mendeklarasikan struktur. Di C++, Anda tidak perlu menggunakan struct kata kunci setelah jenis ditentukan.

Anda memiliki opsi untuk mendeklarasikan variabel ketika jenis struktur ditentukan dengan menempatkan satu atau beberapa nama variabel yang dipisahkan koma antara kurung kurawal penutup dan titik koma.

Variabel struktur dapat diinisialisasi. Inisialisasi untuk setiap variabel harus diapit kurung kurawal.

Untuk informasi terkait, lihat kelas, serikat pekerja, dan enum.

Contoh

#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