OOP Test Exam
OOP Mastery Quiz
Test your knowledge of Object-Oriented Programming with our comprehensive OOP quiz! This quiz features 22 multiple-choice questions that cover various aspects of OOP concepts such as class inheritance, exception handling, templates, and more.
Whether you're a programming student or a professional looking to refresh your skills, this quiz is designed to challenge you and enhance your understanding of OOP principles. Join the learning experience!
- 22 engaging questions
- Instant feedback on your answers
- Covers a broad range of OOP topics
Kurš no apgalvojumiem par atvasinĝtajĝm klasēm NAV patiess?
Ja mantošanas likums ir public, tad apakšklasē visi klases locekļi, kas mantoti no virsklases, nemaina savu pieejamības statusu.
Abstraktajĝm klasēm, kurĝs deklarēta kaut viena tīrĝ virtuĝlĝ metode, nevar būt neviena atvasinĝtĝ klase (apakšklase).
Atvasinĝtajĝ klasē (apakšklasē) tiek mantoti visi bĝzes klases (virsklases) mainīgie (atribūti), ieskaitot tos, kas virsklasē deklarēti kĝ private.
Ja bĝzes klases (virsklases) metode deklarēta kĝ private, tad tai nevar piekļūt arī no šīs klases atvasinĝto klašu (apakšklašu) metodēs.
Kurš no apgalvojumiem par atvasinĝtajĝm klasēm NAV patiess?
No abstraktajĝm klasēm, kurĝs deklarēta kaut viena tīrĝ virtuĝlĝ metode, objektus nevar veidot.
Ja mantošanas likums ir public, tad atvasinĝtajĝ klasē visi mantotie klases locekļi, saglabĝ pieejamību, kĝda tĝ bija deklarēta virsklasē (public, protected vai private).
Atvasinĝtajĝ klasē (apakšklasē) tiek mantoti visi bĝzes klases (virsklases) mainīgie (atribūti) neatkarīgi no tĝ, vai tie bĝzes klasē deklarēti kĝ public, protected vai private.
Ja bĝzes klases (virsklases) metode deklarēta kĝ private, tad to var izmantot no šīs klases atvasinĝtĝs klases (apakšklases) metodēs.
Kurš no apgalvojumiem par atvasinĝtajĝm klasēm IR patiess?
Ja mantošanas likums ir protected, tad apakšklasē visi klases locekļi, kas mantoti no virsklases, kļūst par protected.
Atvasinĝtĝs klases (apakšklases) metodēs, kas deklarētas kĝ private, var piekļūt bĝzes klases (virsklases) private mainīgajiem (atribūtiem).
Atvasinĝtajĝ klasē (apakšklasē) tiek mantoti visi bĝzes klases (virsklases) mainīgie (atribūti), izņemot tos, kas virsklasē deklarēti kĝ private.
Ja bĝzes klases (virsklases) metode deklarēta kĝ protected, tad atvasinĝtĝs klases (apakšklases) metodēs to var izmantot.
Abstraktajĝm klasēm, kurĝs deklarēta kaut viena tīrĝ virtuĝlĝ metode, nevar būt neviena atvasinĝtĝ klase (apakšklase).
Kurš no apgalvojumiem par izņēmuma situĝciju apstrĝdi NAV patiess?
Lai radītu izņēmuma situĝciju, programmĝ jĝizmanto operators catch, kurĝ jĝnorĝda radĝmĝ izņēmuma objekta tips.
Lai varētu apstrĝdĝt izņēmuma situĝciju, kas radīta ar operatoru throw, x programmas kods, kura izpildes laikĝ varētu rasties izņēmuma situĝcija, ir jĝiekļauj try blokĝ.
Izņēmuma situĝcijas apstrĝdi var veikt, izmantojot operatoru catch, kurĝ nenorĝda konkrētu izņēmuma objekta tipu, t. I., lieto operatoru catch(...).
Izņēmuma situĝcijas apstrĝdi veic, izmantojot operatoru catch, kurĝ norĝdīts izņēmuma objekta tips.
Kurš no apgalvojumiem par izņēmuma situĝciju apstrĝdi IR patiess?
Lai varētu apstrĝdĝt izņēmuma situĝciju, kas radīta ar operatoru throw, programmas kods, kura izpildes laikĝ varētu rasties izņēmuma situĝcija, ir jĝiekļauj catch blokĝ.
Izņēmuma situĝcijas apstrĝdi veic, izmantojot operatoru catch, kurĝ norĝdīts izņēmuma objekta tips.
Ja izņēmuma situĝcija ir radīta ar operatoru throw, bet programmĝ nav paredzēta tĝs apstrĝde, tad izņēmuma situĝcija tiek ignorēta un tiek izpildīts nĝkamais operators aiz throw.
Ja izņēmuma situĝcija ir radīta ar operatoru try, apstrĝde paredzēta ar operatoru catchf...), tad šĝds operators catch apstrĝdĝs jebkura tipa izņēmuma objektus
Lai radītu izņēmuma situĝciju, programmĝ jĝizmanto operators try, kurĝ jĝnorĝda radĝmĝ izņēmuma objekta tips.
Kurš no apgalvojumiem par izņēmuma Situĝciju apstrĝdi IR patiess?
Lai varētu apstrĝdĝt izņēmuma situĝciju, kas radīta ar operatoru throw, programmas kods, kura izpildes laikĝ varētu rasties izņēmuma situĝcija, ir jĝiekļauj try blokĝ.
Lai radītu izņēmuma situĝciju, programmĝ jĝizmanto operators catch, kurĝ jĝnorĝda radĝmĝ izņēmuma objekta tips.
Ja izņēmuma situĝcija ir radīta ar operatoru throw, bet programmĝ nav paredzēta tĝs apstrĝde, tad izņēmuma situĝcija tiek ignorēta un tiek izpildīts nĝkamais operators aiz throw.
Izņēmuma situĝcijas apstrĝdi veic, izmantojot operatoru switch, kurĝ norĝdīts izņēmuma objekta tips.
Lai radītu izņēmuma situĝciju, programmĝ jĝizmanto operators try, kurĝ jĝnorĝda radĝmĝ izņēmuma objekta tips.
Kurš no apgalvojumiem par šo klasi NAV patiess?
Klases Triangle mainīgos a, b un c nevarēs izmantot apakšklasēs, kas atvasinĝtas no šīs klases, jo tie ir deklarēti kĝ private.
Klasei Triangle ir deklarēti 7 locekļi - trīs mainīgie un 4 metodes (klases funkcijas).
Funkcijĝ Triangle% operator*( Triangle, int) var piekļūt klases Triangle private mainīgajiem a, b un c.
Klase Triangle ir abstraktĝ klase, jo tajĝ ir metodes, kas deklarētas kĝ friend.
Kurš no apgalvojumiem par šo klasi IR patiess?
Klase Triangle ir abstraktĝ klase, jo tajĝ ir metodes, kas deklarētas kĝ friend.
Dotajĝ aprakstĝ klasei Triangle ir deklarēti klases locekļi - trīs mainīgie (atribūti) un 4 metodes (klases funkcijas).
Dotajĝ aprakstĝ klasei Triangle ir deklarēti kopĝ 9 klases locekļi - trīs mainīgie (atribūti) un sešas metodes (klases funkcijas).
Klases Triangle private mainīgos a, b un c mantos apakšklasēs, kas atvasinĝtas no šīs klases, un varēs tiem piekļūt, ja izmantos mantošanas likumu public.
Klases metode (funkcija) ir aprakstīta kĝ statiska (static). Kurš no apgalvojumiem par šĝdu metodi IR patiess?
Par statisku klases metodi var deklarēt tikai metodi, kas ir deklarēta kĝ private.
Lai statiskĝ metodē varētu piekļūt šīs klases mainīgajiem (atribūtiem), vienmēr jĝizmanto rĝdītĝjs this.
Statisku klases metodi var izsaukt arī tad, ja vēl nav radīts neviens šīs klases objekts.
Statiskĝs metodēs nav atļauts izmantot tos klases atribūtus (mainīgos), kas arīir deklarēti kĝ statiski (static).
Klases metode (funkcija) ir aprakstīta kĝ statiska (static). Kurš no apgalvojumiem par šĝdu metodi NAV patiess?
Lai statiskĝ metodē varētu piekļūt šīs klases mainīgajiem v (atribūtiem), vienmēr jĝizmanto rĝdītĝjs this.
Statiskĝs metodēs ir atļauts izmantot tos klases atribūtus (mainīgos), kas arī ir deklarēti kĝ statiski (static).
Šo statisko klases metodi var izsaukt arī tad, ja nav vēl radīts neviens šīs klases objekts.
Statisku klases metodi var izmantot visĝs pĝrējĝs Šīs klases metodēs.
Statiskĝ metodē nav atļauts izmantot rĝdītĝju this, lai piekļūtu šīs klases mainīgajiem (atribūtiem).
Kurš no apgalvojumiem par šabloniem (template) IR patiess?
Klases šablons ir otrs termins abstraktĝs klases apzīmēšanai, jo no klases šablona nevar radīt objektus (klases instances).
Ja šablona parametram ir norĝdīta noklusētĝ vērtība, kas vienĝda ar 0, tad šĝds šablons kļūst par abstrakto šablonu.
Pats šablons kodu neģenerē - tas tikai norĝda kompilatoram, kĝds kods ir jĝģenerē atkarībĝ no saņemtajiem šablona parametriem.
Ja šablonam nav paredzēts neviens parametrs, tad to var izmantot tikai vienas klases izveidošanai.
Kurš no apgalvojumiem par šabloniem (template) NAV patiess?
Ja ir izveidots klases šablons, tad šĝdu klasi sauc par abstrakto klasi.
Klases šablonam obligĝti ir jĝbūt vismaz vienam parametram, kuram obligĝti jĝbūt lietotam klases definīcijĝ.
Šabloni reprezentē formas, no kurĝm, izmantojot šablona parametrus, kompilators automĝtiski ģenerē kodu funkcijĝm un klasēm.
Katrai šablona parametru vērtību kombinĝcijai tiek ģenerēts unikĝls funkcijas vai klases kods, kuru var izmantot programmĝ.
Kurš no apgalvojumiem par operĝciju definēšanu klasēm IR patiess?
Definējot operĝciju, kuru varēs izmantot klases objektiem, var noteikt tĝs prioritĝti, kas atšķiras no šīs operĝcijas standarta prioritĝtes.
Ja operĝcija ir definēta abstraktajĝ klasē (kurĝ ir vismaz viena tīrĝ virtuĝlĝ metode), tad šo operĝciju nevar pĝrdefinēt klasēs, kas ir atvasinĝtas no abstraktĝs klases.
Vienvietīgo (unĝro) operĝciju (piemēram, ++ vai —) ir iespējams realizēt tikai kĝ ĝrēju funkciju, deklarējot to klasē kĝ friend.
Klasei definētĝs operĝcijas, kas realizētas kĝ klases metodes, manto visas no šīs klases atvasinĝtĝs klases.
Kurš no zemĝk minētajiem apgalvojumiem NAV patiess?
Atvasinĝto klasi (apakšklasi) var atvasinĝt vairĝkĝm bĝzes klasēm (virsklasēm), izmantojot dažĝdus mantošanas likumus (private, protected vai public).
Objekts ir klases eksemplĝrs (instance), un to izveido klases konstruktors.
Atvasinĝtĝs klases (apakšklases) metodēs var izmantot bĝzes klases (virsklases) locekļus v (mainīgos un metodes) neatkarīgi no tĝ, kura no piekļuvēm private, protected vai public tiem ir deklarēta bĝzes klasē.
Klasē var definēt gan statiskus mainīgos, gan statiskas metodes, ko norĝda ar atslēgvĝrdu static
Ja klases locekļi deklarēti kĝ private, tad:
Tas ir alternatīvs nosaukums protected locekļiem, bet lietojams tikai atvasinĝtĝs klasēs.
Tos aizliegts izmantot šīs klases funkcijĝs, bet var lietot tikai klasēs, kas no tĝs atvasinĝtas.
Tiem var piekļūt tikai šīs klases virtuĝlajos konstruktoros.
Tiem var piekļūt šīs klases metodēs, ieskaitot konstruktorus un destruktoru.
Tiem piekļūt var tikai tĝdĝs citu klašu metodēs, kas arī deklarētas kĝ private.
Ja klases locekļi deklarēti kĝ protected, tad:
Tiem nevar piekļūt šīs klases metodēs, bet var lietot tikai klasēs, kas atvasinĝtas no šīs klases.
šos klases locekļus atļauts izmantot tikai šīs klases konstruktoros, kas rada klases objektus.
Tiem var piekļūt šīs klases metodēs un visu no šīs klases atvasinĝto klašu metodēs.
Tas ir alternatīvs nosaukums private klases locekļiem, bet lietojams tikai atvasinĝtajĝs klasēs.
Visas iepriekš minētĝs atbildes ir pareizas.
Neviena no iepriekš minētajĝm atbildēm nav pareiza.
Ja klases metode deklarēta kĝ protected, tad:
Tĝm var piekļūt tikai tĝdĝs metodēs, kas klasē deklarētas statiskas (static)
To var izmantot citĝs šīs klases metodēs, t. sk. konstruktoros, kĝ arī visu no šīs klases atvasinĝto klašu metodēs un šo atvasinĝto klašu konstruktoros.
Tas ir alternatīvs nosaukums private metodēm, bet tĝs var izmantot tikai atvasinĝtajĝs klasēs.
Tĝs var izmantot tikai no šīs klases atvasinĝto klašu metodēs un tikai tad, ja mantošanas likums arī ir protected.
Programmĝ ir šĝdas deklarĝcijas mainīgajam p un masīvam y:
int* p;
int y[5] = {0, 2,0, 2,1};
Kurš no zemĝk dotajiem programmas fragmentiem uz ekrĝna izvadīs skaitli 2?
P = &y[2]; cout << *(p+2);
P=y;cout<<*(p+2);
P=y;cout<<*p+2;
P = &y[0]; cout<<*(y +2);
Programmĝ aprakstīti divi mainīgie x un y:
int x = 2, *y;
Kurš no zemĝk dotajiem programmas fragmentiem uz ekrĝna izvadīs skaitli 2?
Y=2; cout << *y;
Y = &x; cout << *(y+2);
Y = &x; cout << *y;
Y= *x; cout << y->x;
Y=*x; cout<
Objektorientētajĝ programmēšanĝ par klases metodi sauc:
Klases eksemplĝra (instances), kam ir sava identitĝte, atribūti un uzvedība, radīšanu.
Paņēmienu, kas ļauj veidot atvasinĝtĝs klases (apakšklases) no bĝzes klasēm (virsklasēm)
Klases funkciju. Kas realizē algoritmu, kuru izpilda objekts reaģējot uz ziņojumu.
Abstrakto klašu veidošanu, deklarējot klasei tīrĝs virtuĝlĝs funkcijas
Dota klase Triangle:
class Triangle {
protected: int a, b, c; // mĝlu garumi
public: Triangle() (a=b=c=0;); // konstruktors bez parametriem
// MISSING
Triangle(Triangle& t) ( a = t.a; b= t.b; c = t.c; ) // kopijas konstruktors
int Perimeter() ( returna +b +c;)
};
Šī klase jĝpapildina ar konstruktoru, kuram kĝ parametrus var nodot visu trīs trīsstūra malu garumus. Konstruktora definīcija tiks ievietota koda rindiņĝ, kas atzīmēta ar komentĝru //MISSING
Dota klase Rectangle, kas paredzēta darbam ar ģeometrisku figūru taisnstūris:
class Rectangle {
protected: int w, h;
public: Rectangle(int a, int b)(w=a; h=b;)
Rectangle() (h=w=0;)
int perimeter() { return 2*(h+w);}
int area() { return h*w; }
// definīcija metodei, kas realizē operĝciju ++
};
Klase jĝpapildina ar metodi (funkciju), kas dod iespēju izpildīt prefikso inkrementĝcijas (palielinĝšanas) operĝciju ++ šīs klases objektiem. Operĝcijas ++ izpildes rezultĝtĝ taisnstūra abu malu garumam jĝbūt palielinĝtiem par 1. Piemēram, lai pēc tam programmĝ varētu rakstīt, piemēram, tĝ:
Rectangle a(10,20); // taisnstūris ar malu garumiem 10 un 20
++a; // taisnstūra malu vērtības būs 11 un 21
++a; // taisnstūra malu vērtības būs 11 un 21
{"name":"OOP Test Exam", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Test your knowledge of Object-Oriented Programming with our comprehensive OOP quiz! This quiz features 22 multiple-choice questions that cover various aspects of OOP concepts such as class inheritance, exception handling, templates, and more. Whether you're a programming student or a professional looking to refresh your skills, this quiz is designed to challenge you and enhance your understanding of OOP principles. Join the learning experience! 22 engaging questions Instant feedback on your answers Covers a broad range of OOP topics","img":"https:/images/course5.png"}