Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Structuri, reuniuni si tipuri enumerare

c



+ Font mai mare | - Font mai mic



Structuri, reuniuni si tipuri enumerare

In limbajul C++ numele dupa cuvantul cheie struct, union respectiv enum poate fi folosit pentru identificarea structurii, reuniunii respectiv a tipului enumerare. De exemplu in limbajul C struct nume formeaza un tip de date, in limbajul C++ nu mai este nevoie de cuvantul cheie struct pentru a se referi la structura deja declarata.



De exemplu sa consideram structura:

struct Persoana ;

Atunci urmatoarea declaratie este corecta in C++ si gresita in C.

Persoana Adalbert, Marta;

O alta proprietate importanta este ca in limbajul C++ o functie poate avea structuri ca si parametrii. Deasemenea si valoarea returnata de o functie poate fi o structura. In consecinta valoarea returnata de functie si parametrii unei functii pot fi structuri, pointeri catre structuri si referinte la structuri.

Se pot efectua instructiuni de atribuire cu structurile de acelasi tip. De exemplu:

Persoana A, Adalbert;

A = Adalbert;

In interiorul unei structuri se poate declara o reuniune anonima in limbajul C++ sub forma:

struct nume ;

declaratii

} lisa_de_nume;

In acest caz, referirea la elementele declarate in interiorul reuniunii anonime, se face ca si referirea la elementele structurii.

In limbajul C++ primul element al unei reuniuni poate fi initializat.

Consideram urmatorul exemplu. Fisierul union1.cpp

#include <iostream.h>

#include <conio.h>

union date ;

int main() ; // initializarea lui x

for(int i=1; i <= 8; i++)



cout << 'x[' << i-1 << ']=' << D.x[i-1]

<< ( i%4 ? ' ' : 'n');

D.y[0] = 1.5;

D.y[1] = 2.4;

cout << 'ny[0] = ' << D.y[0]

<< ' y[1] = ' << D.y[1] << endl;

return 0;

}

Prin executie se obtine:

x[0]=1 x[1]=2 x[2]=3 x[3]=4

x[4]=5 x[5]=6 x[6]=7 x[7]=8

y[0] = 1.5 y[1] = 2.4

Rezulta ca primul element (vectorul x) poate fi initializat la fel cum s-ar fi procedat in cazul initializarii elementului in sine (adica a unui vector).

In limbajul C++ variabilelor de tip enumerare se pot atribui numai elementele componente ale tipului. Numerele asociate cu aceste elemente nu se pot atribui variabilelor de tip enumerare. Exemplu

enum culori ;

culori Semafor;

Semafor = 1; // corect in C, gresit in C++

Semafor = galben; // corect

In continuare ne vom ocupa de facilitati noi oferite de limbajul C++ referitoare la functii.





Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 692
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved