ALG21

ALG21



Poznaj C++ w pięć minut! 321

Typy złożone

W języku C++ występuje komplet typów prostych i złożonych, dobrze znanych z języków strukturalnych. Należą do nich między innymi tablice i rekordy. W porównaniu z Pascalem. C++ oferuje tu pozornie mniejsze możliwości Podstawowe ograniczenie tablic dotyczy zakresu indeksów: zawsze zaczynają się one od zera. Nie jest możliwe również deklarowanie rekordów „z wariantami”. Te niedogodności są. oczywiście do obejścia, ale nie w sposób bezpośredni.

Tablice

Indeksy w tablicach deklarowanych w C++ startują zawsze od zera. Tak więc deklaracja tablicy i o rozmiarze 4 oznacza w istocie 4 zmienne: ![()]. t[lj. t[2] i t[3], Aby uzyskać zgodność indeksów w programach napisanych w Pascalu i w C++, konieczne jest zastosowanie właściwej translacji tychże!

Program pr5;    typedef int tab[3];

type tab=array[3..5] of inte- tab t; ger;    void main()

var t:tab;    (

begin

t [ 3 ] : = 11 ; f. [4 J :-t [31+1;


t[OJ-11;

*(t+l)=t[0]+1;

}

and.

•    Język C++ nie zapewnia kontroli przekroczenia granic tablic podczas dostępu do nich przy pomocy indeksowania, ufając niejako programiście. Radą na to jest zastosowanie mechanizmów obiektowych, ale w wersji pierwotnej trzeba po prostu uważać, aby nie znaleźć się ,,w' malinach';

•    Nazwa tablicy w C++jest jednocześnie wskaźnikiem do niej. Przykładowo, / wskazuje na pierwszy element tablicy, a (1-3) na czwarty. Notacja *(/+!) jest równoważna t[l]\

•    Deklaracja ml *x jest równoważna int x[J.

Rekordy

Prosty przykład pokazuje elementarne operacje na rekordach:

program pr6;    sfcniefc celi

type cell=    <

record    char c;

c:char;    int    a,b,d;

a,b,d:infeger;    I;

3 Tutaj mogłoby to oznaczać „zle adresy”...


Wyszukiwarka

Podobne podstrony:
ALG19 Poznaj C-h- w pięć minut! 319 a:=a+l; Iinkrementacja) b;-b-2 end. b=l; a++; //inkrementacja b-
ALG23 Poznaj C++ w pięć minut! 323 j :=1; for i:—l to 5 do begin writeln(i*j); j:=j+l and; i: =1; wh
ALG25 Poznaj C-m- w pięć minut! 325 •    w C++ instrukcja return(v) powoduje natychmi
ALG27 Poznaj C-m- w pięć minut! 327 Poznaj C-m- w pięć minut! 327 "KLASA Rys. A-L Terminologia&
ALG29 329 Poznaj C++ w pięć minut! operację dodawaniaS (mnożenia, dzielenia ctc.) oraz wypisywać ją
ALG31 Poznaj C-h- w pięć minut! 331 Podobnie jak w przypadku operatora +, celowe mogłoby być przedef
ALG33 Poznaj C++ w pięć minut! 333 cout <<"metody pisz:x= « x << endl; ); class
ALG35 Poznaj C-t-t w pięć minut! 335 W C++ kilka różnych pod względem zawartości funkcji może nosić
Java jako język obiektowy O Prawie wszystkie byty w języku Java (z wyłączeniem typów prostych) to ob
PROCESY CZAROWNIC W POLSCE W XVI-XVIII W. 83 1. „Nic uchamowany w języku występek”1 Obraz polowania
CQ ts NIE MINĘŁO PIĘĆ MINUT ODKĄD KARINĘ ZACZĘŁA NOWĄ PRACĘ, A JUŻ ZOSTAŁA UPOKORZONA PRZEZ HARPIE
str4 tekst1 pięć minut. W końcu pijana spoina    105 wuią rosnącą ilość pomocy, jak
P1010840 Przez całe pięć minut Van Hełsing stał i wpatrywał się w nią; na jego twarzy malowała się s
DSC00381 2 19. (jur. ław Radbrueh, Pięć minut filozofii prawa (I ii uf Minut en Rechtsphilosophie)Tr
gSfretchlng w treningu sportowym Ćwiczenie rozciągania w jednostce treningowej Przez kolejne pięć mi
IMAGE0015 i wyjątkowo dostaniemy pięć minut przerwy w pracy, aby się najeść. Czegóż można pragnąć wi
ALG17 Dodatek APoznaj C++ w pięć minut! Dodatek ten stanowi w swoim założeniu pomost dla programistó

więcej podobnych podstron