pa da nastavimo dalje (VB na VC++ part II) :
VB:
konstante su po defaultu lokalne (Private), osim ako se ne specificira Public - javne (u modulu dozvoljeno) :
Const tacno = True
Const netacno = False
C++:
nivo pristupa promenljivama se određuje na nivou klasa. Tako članice klasa mogu da budu: public - vide se od strane korisnika, protected - vide se u klasi i izvedenim klasama, private - vide se samo u klasi u kojoj su deklarisane.
VB
deklarisanje tipova u VB-u se vrsi u modulu :
Type korisnik - deklaracija korisnickog tipa
id As Integer
ime As String * 20
prezime As String * 20
sesija(100) As Byte
End Type
Enum rejting 'nabrajanje'
gost = 0
novi = 1
stari = 2
kajla = 3
End Enum
C++:
Glavna vrsta korisničkih tipova su klase, o kojima ćemo kasnije. Istorijski gledano (zbog kompatibilnosti sa C-om) kao ekvivalent korisničkim tipovima u VB-u, uzima se struct.
struct Korisnik
{
short id;
char ime[20];
char prezime[20];
unsigned char sesija[100];
};
A imamo i enum:
enum rejting {gost, novi, stari, kajla};
ovde je gost = 0, a ostali rastu za po jedan. Moguće je i:
enum rejting {gost = 1, novi, stari, kajla = 10};
tu je gost = 1, novi = 2, stari = 3, kajla = 10
VB:
Referenciranje pojedinacne promenljive iz tipa :
Dim kor As korisnik
kor.id=1
kor.sesija(1)=1
ili:
With kor
.id=1
.sesija(1)=1
End With
C++: Vrlo slično
Korisnik kor;
kor.id = 1;
kor.sesija[1] = 1; //ovo je DRUGI clan niza
Avaj, ne postoji With...End With konstrukcija
VB:
Referenciranje pojedinacne konstante iz Enum-a (dodela vrednosti konstantama nije dozvoljena)
rejting.novi
C++:
rejting::novi; // često ovo rejting:: i ne treba već se piše samo novi
Operatori
VB:
operator za dodelu vrednosti '='
a=3
a= <izraz> (rezultat izraza bice razlicitog tipa, u zavisosti tipa operanda i overflow-a)
operatori '+' i '-' za brojeve znaci sabiranje, za stringove povezivanje u jedan string
specijalan slucaj :
dim a as byte, b as string
a = 5 : b = "5" : c=a+b
c= 10 rezultat
operator '&' za brojeve i stringove povezivanje u jedan string
a ="123" : b="abc" : c=a & b
c="123abc" rezultat
operatori '*' i '/' mnozenje i deljenje
specijalan slucaj :
dim a as byte, b as string
a = 5 : b = "5" : c=a*b
c= 25 rezultat
operator '^' - eksponent broja
operator '' celobrojno deljenje
operator 'mod' celobrojni ostatak (zaokruzen)
operatori za uporedjivanje su :
=, <, >, <=, >=, <> (nejednakost)
logicki operatori u VB su :
NOT, AND, OR i XOR
C++: Operatori (ukratko)
Unarni operatori:
* -indirekcija (sadrzaj lokacje koju pokazuje pointer)
& -adresa ("suprotno" od indirekcije - adresa promenljive)
+ -unarni plus (oznaka za pozitivan broj)
- unarni minus (oznaka za negativan broj)
! -logicka negacija
~ -komplement (binarni)
++ -prefix inkrementacija (uveca za jedan)
-- -prefix dekrementacija (umanji za jedan)
sizeof -velicina u memoriji
new -alokator memorije
delete -dealokator memorije
Binarni operatori:
racunske radjnje: + - / * % sve je jasno osim mozda % deljenje po modulu
Shift operatori << i >>
Poredjenje: <, >, == (jednakost), != (nejednakost), <=, >=
Logicke operacije na nivou bitova:
& (and), | (or), ^ (xor)
Logicke operacije na nivou integera
&& (and), || (or)
Ternarni operatori:
?:
neka vrsta skracenice za if. Primer:
(val >= 0) ? val : -val
If the condition is true, the expression evaluates to val. If not, the expression equals –val
fire, walk with me