Ce este o probleme de actualitate constant în lucrul cu

C ++ permite înregistrarea valorilor de tipuri de bază: constantele de caractere, constantele întregi și plutesc constante punctiforme. De asemenea, zero (0) poate fi utilizat ca un indice constant de orice tip, și șiruri de caractere sunt constante de tip char. Puteți defini, de asemenea constante simbolice. Simbolic constantă - numele, a căror valoare nu poate fi modificată în domeniul său de aplicare. In C ++, există trei tipuri de constante simbolice: (1) orice valoare a oricărui tip poate fi dat un nume și o folosesc ca o constantă, adăugând la descrierea cuvântului cheie const; (2) o multitudine de constantă întreg poate fi definit ca o enumerare; și (3) orice vector sau funcție de nume este o constantă.

Constantele dactilografiate pot fi comparate cu variabile inițializate - variabilele ale căror valori sunt determinate la intrarea în unitatea lor. Spre deosebire de constantele în descrierea fără tipuri tastat constante atât precizează tipul și valoarea constantei.

descriere tastat constanta

L> | identifikator + -> |. + -> | sfat + -> | = + -> + | tipizirovannaya -> constant |

Tabelul 1 - Constant

Puteți utiliza constante tastate în același mod ca și variabile de același tip, și sunt indicate în partea stângă a operatorului de atribuire. Rețineți că tastat constante sunt inițializate doar o singură dată - la începutul programului. Astfel, cu fiecare intrare nouă la o procedură sau o funcție descrisă local tastat constante nu sunt inițializate din nou.

constante de tip simplu. Descriere tastat constant cu un tip simplu este o indicație a valorilor constantelor:

Maximum. întreg = 9999;

Factor. reală = -0.1;

Breakchar. char = # 3;

Tampon: array [0..1023] de Byte;

BufferOfs: Word = OFS (tampon);

BufferSeg: Word = Seg (tampon);

Din moment ce de fapt tastat constantă este o variabilă cu o valoare constantă, nu este interschimbabil pentru constantele obișnuite. De exemplu, nu poate fi folosit în descrierea sau a altor tipuri de constante.

Max. întreg = 99;

Vector = array [Min..Max] din întreg;

Descriere Vector este inacceptabilă deoarece Min și Max sunt constantele tipizate.

Tipul string constant

Descriere tastat tip constant șir cuprinde o lungime maximă șir, iar valoarea sa inițială:

Titlu. string [7] 'Secțiunea' =;

NewLine. string [2] = # 13 # 10;

TrueStr. string [5] = 'Da';

FalseStr. string [5] = 'Nu';

Tipul de structură constantă

Descrierea constantă de tip structural determină valoarea fiecărei componente a structurii. Suporturi descrie tipul de matrice constant, înregistrare, set, și un pointer. Constante fișier de tip și de tip matrice constantă sau înregistrare conținând componentele de tip fișier nu sunt permise.

Constant tip matrice. Descrierea constantele de tip ale șirului conține valorile elementelor din paranteze și separate prin virgulă.

Aici este un exemplu de tip matrice constantă:

StatusMap = array [Stare] string [7];

StatStr: StatusMap = ( 'Activ', 'pasivă', 'în așteptare');

În acest exemplu, matricea constantă este determinată StarStr, care poate fi utilizată pentru a transforma valorile Stare tip în reprezentările șir corespunzătoare. elementele de matrice StarStr sunt:

Tip-element constant matrice poate fi oricare altul decât tipul de fișier. Constantele umpluturii de tip șir (caractere matrice) poate fi identificat ca un singur caracter, și ca șiruri. definiţie:

Acesta poate fi reprezentat într-o formă mai convenabilă:

Digits: array [0..9] de char = '0123456789';

La o rezoluție de sintaxă extinse (folosind directivele

compilator) cu zero, matrice de bază sunt inițializate șir care este mai scurtă decât lungimea matrice este descrisă, de exemplu:

FileName = array [0..79] Char = 'TEXT.PAS';

În aceste cazuri, caracterele rămase sunt setate la NULL (# 0), iar matricea cuprinde un șir terminat-nul. Când se descrie fiecare dimensiune constantele constante ale „matrice multidimensionale“ sunt paranteze individuale și separate prin virgulă. Situat în mijlocul constantelor corespund dimensiunilor corecte. Descriere:

Cube = array [0..1,0..1,0..1] din întreg;

Următoarele stabilește valorile inițiale ale matrice labirint:

Constante tip de înregistrare

Descrierea intrării constante conține identificatorul fiecărui câmp și valoarea în paranteze și separate prin virgulă.

Iată câteva exemple de constante înregistrări:

Vector = array [0..1] Point;

Origine. Punct = (x: 0.0; y: 0.0);

Linie. Vector = ((x: -3.1; y: 1,5), (x: 5,8; y: 3,0));

Într-o zi. Data = (d: 2; m: Nov; y: 1960);

Câmpurile trebuie să fie specificate în aceeași ordine în care apar în descrierea tipului de înregistrare. În cazul în care înregistrarea are câmpuri de tipul de fișier, pentru acest tip de înregistrare nu poate fi descrisă constantă. În cazul în care intrarea conține o variantă, este posibil să se specifice numai câmpul opțiunea selectată. În cazul în care câmpul opțiune cuprinde o caracteristică, atunci valoarea acesteia trebuie să fie determinată.

Constante tip de obiect

În descrierea tipului de obiect constant utilizează aceeași sintaxă ca și în descrierea unei constante de tip înregistrare. nu pot fi specificate valori pentru elementele (componente) ale metodei. Având în vedere tipul de descrieri obiect citate mai sus dau câteva exemple de constante tip de obiect:

ZeroPoint: Punct = (X: 0; Y: 0)

ScreenRect: Rect = (A: (X: 0; Y: 0); B: (X: 80; Y: 25);

CountField: NumField = (X: 5; Y: 20; Len: 4 Nume: nil;

Valoare: 0; Min: -999; Max: 999);

Constante tip de obiect care conțin metode virtuale este necesar pentru a inițializa cu apelul constructorului. Această inițializare este efectuată automat de compilator.

Constant mai multe tipuri

Descriere Constantele de tip multiple pot conține mai multe elemente, închise între paranteze pătrate și separate prin virgulă. Fiecare element al unei constante este o constantă sau un tip de segment, format din două constante despărțite de două puncte.

Iată câteva exemple de constante sunt:

Digits = set de 0..9;

Letters = set de 'A' .. 'Z';

EvenDigits: Digits = [0,2,4,6,8];

Vocalele. Letters = [ 'A', 'E', 'I', 'O' 'U' 'Y'];

HexDigits. set de '0' .. 'z' =

Tipul de referință constantă

Descrierea tipului de referință constantă poate conține numai nil valoare (gol). Iată câteva exemple

TDirection = (stânga, dreapta, sus, jos);