struct (C++)
A palavra-chave struct
define um tipo de estrutura e/ou uma variável de um tipo de estrutura.
Sintaxe
[template-spec] struct [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[struct] tag declarators;
Parâmetros
template-spec
Especificações de modelo opcionais. Para obter mais informações, confira Especificações de modelo.
struct
A palavra-chave struct
.
ms-decl-spec
Especificação de classe de armazenamento opcional. Para obter mais informações, confira a palavra-chave __declspec.
tag
O nome do tipo dado à estrutura. A marca se torna uma palavra reservada no escopo da estrutura. A marca é opcional. Se omitida, uma estrutura anônima será definida. Para obter mais informações, confira Tipos Anônimos de Classes.
base-list
A lista opcional de classes ou estruturas de que esta estrutura derivará seus membros. Confira Classes Base para obter mais informações. Cada nome de classe base ou estrutura pode ser precedido por um especificador de acesso (público, privado, protegido) e pela palavra-chave virtual. Confira a tabela de acesso do membro em Controlando o Acesso a Membros de Classe para obter mais informações.
member-list
Lista de membros da estrutura. Confira a Visão Geral do Membro de Classe para obter mais informações. A única diferença aqui é que struct
é usado no lugar de class
.
declarators
Lista de declaradores que especificam os nomes da estrutura. As listas de declaradores declaram uma ou mais instâncias do tipo de estrutura. Os declaradores podem incluir listas de inicializadores se todos os membros de dados da estrutura forem public
. Listas de inicializadores são comuns em estruturas porque membros de dados são por padrão public
. Confira a Visão Geral dos Declaradores para obter mais informações.
Comentários
Um tipo de estrutura é um tipo composto definido pelo usuário. É composto de campos ou membros que podem ter tipos diferentes.
Em C++, uma estrutura é a mesma de uma classe, porém seus membros são public
por padrão.
Para obter mais informações sobre classes e estruturas gerenciadas em C++/CLI, confira Classes e Estruturas.
Usando uma estrutura
Em C, você deve usar explicitamente a palavra-chave struct
para declarar uma estrutura. Em C++, você não precisa usar a palavra-chave struct
depois que o tipo é definido.
Há também a opção de declarar variáveis quando o tipo de estrutura é definido colocando um ou vários nomes de variável separados por vírgulas entre a chave de fechamento e o ponto-e-vírgula.
As variáveis de estrutura podem ser inicializadas. A inicialização de cada variável deve ser incluída entre chaves.
Para obter informações relacionadas, consulte classe, união e enumeração.
Exemplo
#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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de