Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

1. Postoje dve vrste podataka. Navedite ih.

Promenljive i Konstantne
2. ta je deklaracija a ta definicija promenljive.
Objasniti i navesti primer.
Deklaracijom se zauzima prostor u memoriji za datu
promenljivu, a definicijom se pored zauzimanja
memorije vri jo i postavljanje inicijalne vrednosti.
Na primer:
int x1; // deklaracija
double y1; //
deklaracija
int x2=1; // definicija
double y2=0.5; //
definicija
3. Upotrebom kojeg unarnog prefiksnog operatora se
moe utvrditi kolicina memorije koja se zauzima za
smetanje podatka odredenog tipa?
Upotrebom SIZEOF
4. ta je pokazivac i ta je njegova vrednost.
Pokaziva je promenljiva koja sadri neku adresu. Njegova
vrednost zavisi od sistema, ako je sistem 32-bitni onda je i
on 32-bitni.
5. Primer deklaracije pokazivaca.
int *iPok; // pokazivac na tip int
double *dPok; // pokazivac na tip double
void *vPok; // genericki pokazivac
6. Napisati deklaraciju pokazivaca i promenljive.
Napisati da napisani pokazivac pokazuje na napisanu
promenljivu.
int *pi1;
int x1;
pi1=&x1;
7. Za ta se koristi unarni operator &?
Unarni operator & se koristida braca memorijsku adresu
nekog podatka.
8. Ispisati vrednost promenljive x, na koju pokazuje
pokazivac p. Ispis izvriti putem pokazivaca.
p=&x;
printf("\nSadrzaj pokazivaca p je adresa promenljive x:
%d",p);
9. ta je ime niza?
Ime niza je pokazivac koji sadrzi adresu prvog elementa niza.
10. Koje vrste nizova postoje?
Staticki i dinamicki
11. Kako se pristupa i-tom elementu statickog i
dinamickog niza celih brojeva. Naziv niza je a.
Napisati primer.
a[i] ili *(a+i)
pristupa se preko indeksa
12. Kojim brojem (indeksom) pocinje indeksiranje
elemenata niza u programskom jeziku C++?
Pocinje sa NULOM
13. Napisati deklaraciju proizvoljne funkcije, odnosno
prototip (sa argumentima).
TipFunkc imeFunkc (TipArg_1, TipArg_2, ... TipArg_n);
14. Napisati definiciju proizvoljne funkcije (sa
argumentima).
TipFunkc imeFunkc (Arg_1, Arg_2, ... Arg_n) {
// TELO FUNKCIJE }
15. ta je referenca?
Referenca je alternativno ime za neki podatak.
16. Napisati definiciju reference.
int x=5;
int &rx=x;
double y1;
double y2;
double &ry=y1;
17. Znacenje operatora << i >> u programskom jeziku
C++.
Ukoliko su oba operanda celobrojne vrednosti onda sluze za
pomeranje levog operanda za onoliko binarnih mesta koliko
je vrednost desnog operanda.
18. Cemu slue refernce cin i cout?
Referenca na glavni ulaz raunara ima identifikator cin, a
referenca na
glavni izlaz raunara ima identifikator cout.
19. Napisati primer preklapanja imena funkcija.
bool f(int a, int b)
bool f(double a, double b)

20. Navesti primer funkcije sa podrazumevanom


vrednosti argumenata.
void f (int x=2, int y=3) {...}
21. ta je imenski prostor i za ta se isti koriste.
Imenski prostori slue za grupisanje globalnih imena u
velikim programskim sistemima. Ako se delovi programa
stave u razliite imenske prostore, tada ne moe doi do
konflikta sa korienjem imena.

22. ta je objekat a ta klasa?


Objekat predstavlja model entiteta, klasa predstavlja model
klase entiteta.
23. Napisati oblik definicije klase u programskom
jeziku C++?
class My Class {
//<podaci clanovi>
//<objekti clanovi>
//<funkcije clanovi ili metode>
};
24. Navesti gradivne elemente klase?
Podaci clanovi
Objekti clanovi
Funkcije ili metode
25. Navesti prava pristupa elementima klase.
-Private
-Public
26. ta je konstruktor klase? Napisati primer.
Konstruktor je metoda koja kreira objekat.
XY point() { x=3; y=4;}
27. Napisati konstruktor klase Trougao sa
parametrima.
trougao (double aa, double bb, double cc)
{a =aa; b=bb; c=cc;}
28. Napisati konstruktor klase Trougao bez
parametara.
trougao () { a1=2; b1=4; c1=6;}
29. Napisati metodu za racunanje Obima Trougla.
Stranice trougla su deklararisane sa: double a; double
b; i double c;
double get 0 () const {return a+b+c;}
30. Napisati metodu za racunanje Povrine Kvadrata.
Stranica kvadrata deklarisana je sa double a;
double get p () const {return a*a;}
31. Napisati primer konstruktora inicijalizatora na
primeru Valjka.
valjak(double rr=1, double hh=1):B(rr), M(2*rr*M_PI, hh){}
32. Napisati konstruktor inicijalizator sa
podrazumevanim vrednostima parametara za klasu
PP3Prizma (sastoji se od jednakostranicnog trougla i
pravougaonika).
PP3Prizma (double aa=1, bouble bb=1): B (aa), M (3*a,b){}
33. ta je ugradeni (podrazumevani) konstruktor?
Ugradjeni konstruktor je metoda koja vrsi kreiranje objekta
ali ne i njegovu inicijalizaciju.
34. ta je konstruktor kopije. Napisati primer
konstuktora kopije za klasu Trougao. Konstruktor kopije
je metoda koja vri kreiranje objekta i njegovu inicijalizaciju
kopiranjem sadraja drugog objekta iste klase.
Trougao (const Trougao &m);
35. Za ta se koristi set metoda. Napisati primer set
metode za A stranicu pravougaonika. Stranica a
deklarisana je sa double a;
Set-metoda slui da postavi novu vrednost podatka-lana i
ima argument tipa koji odgovara tipu podatka-lana kojeg
menja, obino je tipa void i nema oznaku const jer menja
stanje objekta.
double set a(double aa) {a=aa;}
36. Za ta se koristi get metoda. Napisati primer get
metode za B stranicu pravougaonika. Stranica b
deklarisana je sa double b;
Get-metode slue da oitaju vrednost nekog podatka-lana i
uvek su tipa koji odgovara tipu tog podatka-lana, obino
nemaju argumente i imaju oznaku const jer ne menjaju
stanje objekta.

double get B() const {return B;}


37. Napisati definiciju za kompoziciju klase.
Kompozicija jeste takva veza klasa, za koju vai to da vlasnik
poseduje komponentu, pri emu komponenta ne moe
postojati pre kreiranja i posle unitenja vlasnika. Drugim
reima, ivotni vek komponente sadran je u ivotnom veku
vlasnika.
38. ta je preklapanje metoda u Objektno
Orijentisanom Programiranju i navesti primer.
Preklapanje metoda je mogunost da u klasi postoje
dve ili vie metoda koje mogu imati isto ime.
Bool f (int a, int b)
Bool f (double a, double b)

39. ta je preklapanje operatora. Napisati preklapanje


operatora + (plus) za klasu kompleksnog broja
Complex.
Preklapanje operatora je mogunost da se za veinu
standardnih operatora definie njihovo ponaanje za sluaj
da su operandi klasnih tipova.
Complex operator+(const Complex &z1, const Complex &z2)
{
Complex w(z1.re+z2.re, z1.im+z2.im);
return w; }
40. ta je preklapanje operatora. Napisati preklapanje
operatora - (minus) za klasu kompleksnog broja
Complex.
Complex operator -(const Complex &z1, const Complex &z2)
{
double r=z1.re - z2.re;
double i=z1.re - z2.im;
Complex w(r, i);
return w;}
41. ta je preklapanje operatora. Napisati preklapanje
operatora * (mnoenje) za klasu kompleksnog broja
Complex.
Complex operator*(const Complex &z1, const Complex &z2)
{
double r=z1.re*z2.re - z1.im*z2.im;
double i=z1.re*z2.im + z1.im*z2.re;
Complex w(r, i);
return w; }
42. ta je preklapanje operatora. Napisati preklapanje
operatora << (ispis na konzolu) za klasu kompleksnog
broja Complex.
ostream& operator<<(ostream &out, const Complex &z) {
if(z.re==0 && z.im!=0) out<<z.im<<"i";
if(z.re!=0 && z.im==0) out<<z.re;

if(z.re!=0 && z.im>0) out<<z.re<<"+"<<z.im<<"i";


if(z.re!=0 && z.im<0) out<<z.re<<z.im<<"i";
return out; }
43. ta je preklapanje operatora. Napisati preklapanje
operatora = (dodela vrednosti) za klasu kompleksnog
broja Complex.
Complex& Complex::operator=(const Complex &z) {
re=z.re; im=z.im;
return *this; }
44. ta je preklapanje operatora. Napisati preklapanje
operatora == (provera jednakosti) za klasu
kompleksnog broja Complex.
bool operator==(const Complex &z1, const Complex &z2) {
if(z1.re==z2.re && z1.im==z2.im)
return true;
else
return false; }
45. ta je preklapanje operatora. Napisati preklapanje
operatora /= (deljenje uz dodelu vrednosti) za klasu
kompleksnog broja Complex.
bool operator !=( const Complex &z1, const Complex &z2){
if (z1.re != z2.re &&z1.im =! Z2.im)
return true;
else
return false; }
46. Znacenje i upotreba operaora new. Operator new se
koristi za dinamiko zauzimanje memorije i vraa adresu od
dobijenog
memorijskog segmenta.
new int;
47. Znacenje i upotreba operatore delete. Operator
delete slui za oslobananje dinamiki alociranog
memorijskog segmenta.
delete [] text;
48. ta je kljucna rec this?
U svakom objektu svake klase postoji podatak-lan this koji
jeste pokaziva na klasu kojoj taj objekat pripada i koji sadri
adresu datog objekta. Drugim reima, podatak-lan this
nekog objekta jeste pokaziva koji sadri adresu objekta
kojem pripada.
49. ta je podrazumevani dekstruktor?
U svakoj klasi postoji podrazumevani destruktor. Ukoliko
destruktor nije napisan tada e posao unitavanja objekta
obaviti podrazumevani destruktor. Podrazumevani destruktor
unistava objekte ali ne bi prethodno oslobodio dinamiki
zauzetu memoriju koja je vezana za pokaziva.
50. Kako se poziva destruktor? Nakon izvrsavanja
programa. Sintaksa destruktora: ~DinString() { delete[] text;
}

You might also like