intrebari colocviu poo Flashcards
Care dintre urmatoarele variante este cea mai potrivita pentru declararea unui pointer?
A. int x;
B. int &x;
C. ptr x;
D. int *x;
int *x;
Care dintre urmatoarele variante aloca o adresa de memorie variabilei de tip intreg a?
A. *a;
B. a;
C. &a;
D. adress(a);
&a;
Care dintre urmatoarele variante aloca o adresa de memorie pointerului a ?
A. a;
B. *a;
C. &a;
D. adress(a);
a;
Care dintre urmatoarele variante arata valoarea alocata pointerului a?
A. a;
B. val(a);
C. *a;
D. &a;
*a;
Care dintre urmatoarele variante este corecta pentru a aloca memorie in C?
A. new
B. malloc
C. create
D. value
malloc
Care dintre urmatoarele variante este corecta pentru a dealoca memorie in c?
A. free
B. delete
C. clear
D. remove
free
Care dintre urmatoarele variante nu este un prototip corect ?
A. int funct(char x, char y);
B. double funct(char x)
C. void funct();
D. char x();
double funct(char x)
Ce tip de functie va fi returnata folosind prototipul “int func(char x, float v, double t);”
A. char
B. int
C. float
D. double
int
Care dintre urmatoarele variante este adevarata pentru apelarea unei unei functii (presupunand ca functie exista)?
A. funct;
B. funct x, y;
C. funct();
D. int funct();
funct()
Care dintre urmatoarele variante este o functie completa?
A. int funct();
B. int funct(int x) {return x=x+1;}
C. void funct(int) {printf(„Salut!”)};
D. void funct(x) {printf(„bauuuu !”);}
void funct(int) {printf(“Salut!”)};
Ce tip de date returneaza constructorului unei clase?
- void;
- pointer cãtre void;
- un tip de date specificat de programator;
- nu returneazã nici un tip.
nu returneaza niciun tip
se considera urmatoarele declaratii:
class B{
int i;
};
class D : public B {….}
Care este tipul de acces la membrul i al clasei B pentru membri publici ai clasei D?
- public;
- protected
- inacccesibil;
- private.
innaccesibil
Deoarece baza b are date private iar d are date publice
Care dintre propietatile alaturate apartin functiilor friend ale unei clase?
- funcţiile friend se moştenesc prin derivare;
- funcţiile friend au acces doar la membrii public ai clasei;
- funcţiile friend au acces doar la membrii statici ai clasei;
- funcţiile friend au acces la toţi membrii clasei.
functiile friend au acces la toti membrii clasei
ce este o data membru statistica?
- o datã membru staticã este unicã pentru toate instanţele clasei;
- o datã membru staticã este alocatã pe stivã;
- o datã membru staticã este implicit publicã pentru toate instanţele clasei;
- o datã membru staticã poate fi accesatã numai de funcţiile membru publice
o data membru statistica este unica pentru toate instantele clasei
de ce tip este parametrul formal al functiei f prototip:
void f(const int&a);
- prototipul este greşit;
- de tip referinta cãtre int, data de intrare;
- de tip referinta cãtre int, data de tip intrare / iesire;
- de tip int constant, ce nu poate fi modificat în functie
de tip referinta catre int, data de intrare
nu poate fi modificata (read-only)
care este semnificatia instructiunii:
delete []p?
- este greşitã;
- şterge memoria alocatã programului;
- elibereazã zona de memorie alocatã stivei;
- elibereazã zona de memorie alocatã tabloului p
elibereaza zona de memorie alocata tabloului p
ce desemneaza in c++ cuvantul rezervat this?
- o referinţã cãtre obiectul curent cu care opereazã o funcţie membru;
- un pointer cãtre obiectul curent cu care opereazã o funcţie membru;
- un pointer la constructorul implicit;
- nu existã
un pointer catre obiectul curent cu care opereaza o functie membru
fie codul de mai jos:
inline int square (int &m)
{
return (mm);
}
inline double square (double &m)
{
return (mm);
}
Care din afirmaţiile de mai jos e cea corectã:
- codul este greşit;
- este incorect folosit inline;
- codul este greşit, dublã definiţie pentru square;
-codul este corect, funcţia square este supraîncarcatã;
- codul este corect, funcţia square este virtualã.
codul este corect , functia square este supraincarcata
parametrii au tipuri diferite: int si double
se considera declaraatiile :
int i, &r_i=i;
alegeti varianta corecta de raspuns:
se defineşte r_i ca fiind un pointer cãtre i;
- se defineşte r_i ca referinţã cãtre int şi este un alias pentru i;
- se defineşte adresa variabilei r_i ca fiind egalã cu i;
- codul este greşit.
se defineste r_i ca fiind referinta catre int si este un alias pentru i
. Fie codul de mai jos
# include <iostream>
class Clasa{
int a,b;
public:
Clasa (int i=0, int j=0) {a=i;b=j;};
};
int main (void ){
Clasa obiect ;
cout << obiect.a<<" " <<obiect.b;
return 0;
}
Care din afirmatiile de mai jos e cea corectã:
- codul este greşit pentru cã nu se defineşte constructorul implicit;
- codul este greşit pentru cã nu se pot afişa componentele a, b;
- codul este greşit deoarece nu se specificã accesul la datele membre a, b;
- codul este corect.</iostream>
codul este gresit pentru ca nu se pot afisa componentele a si b, trebuie supraincarcat operatorul«
Fie codul:
class untip {
private:
int a[3];
public:
int operator [] (int i) {return a[i]};
};
Alegeţi varianta corectã de rãspuns:
- codul este greşit deoarece nu se poate supradefini operatorul [];
- codul este sintactic corect, dar o componentã a vectorului nu poate apare in stinga unei
relatii de atribuire;
- codul este sintactic corect şi o componentã a vectorului poate apare in stinga unei relatii de atribuire;
- codul este greşit deoarece nu s-a scris corect supradefinitia operatorului [].
codul este sintactic corect , dar o componenta a vectorului nu apare in stanga unei relatii de atribuire
care este semnificatia instructiunii:
virtual void f(int a)=0;
- funcţia se initializeaza cu 0;
- instrucţiunea este greşitã;
- instrucţiunea declarã o funcţie pur virtuala;
- instructiunea specificã valoarea implicitã 0 pentru parametrul funcţiei
instructiunea declara o functie pur virtuala
. Fie clasa:
class A {
public:
int x; float y;
A(int n, float f){x=n; y=f;}
}
Fie codul:
A a;
Care din urmatoarele afirmatii despre codul de mai sus e adevarata?
- se apeleaza constructorul implicit al clasei A;
- codul nu se compileaza;
- datele x si y ale obiectului a se intializeaza cu 0;
- datorita faptului ca nu exista destructor declarat explicit, dupa executie, sistemul de operare semnaleaza eroare
la dealocare
codul nu se compileaza , clasa nu are constructor implicit
Fie clasa:
class A {
int x;
A( int n=2 ) { x=n;}
};
Fie codul:
A a(0);
Efectul codului este:
- se construieste obiectul a si se intializeaza x cu 2;
- nu se poate construi obiectul a deoarece constructorul implicit nu e accesibil;
- se construieste obiectul a si se initializeaza x cu 0;
- nu s-a apelat corect constructorul si prin urmare obiectul nu se va construi.
nu se poate construi obiectul deoarece constructorul implicit nu este accesibil
este privat