1. Dany mamy fragment programu:
1. class A {
2. int a;
3. private
4. int b;
5. public;
6. int c;
7. }
8.
9. class B: public A{
10. void drukuj () {
11. cout << a;
12. cout << b;
13. cout << c;
14. };
a) Powyższy kod jest w języku……………..
b) Wskaż niepoprawne linie………………..
c) Na czym polega błąd……………………
d) Czy odpowiedz b) zmieniłaby się gdyby w linii 9
pominąć słowo ‘public’……..
2. Wpisz w miejsce kropek, co pojawi się na wyjściu programu po wykonaniu instrukcji cout << ….
#include <iostream>
using namespace std;
class A{
public:
void f() { cout << "1";}
virtual void g() {cout << "2";}
};
class B: public A{
public:
void f() {cout << "3";}
void g() {cout << "4";}
};
int main()
{
A a, *aa;
B b, *bb;
aa = &b;
bb = &b;
a.f();
a.g();
aa -> f();
aa -> g();
b.f();
b.g();
bb -> f();
bb -> g();
}
3. W jaki sposób likwidowane są w trakcie działania programu niewykorzystywane już obiekty w Javie i C++.
………………………………………………………………………………………..
4. Wymień co najmniej jeden powód dla którego stosuje się hermetyzacje.
………………………………………………………………………………………
5. Dopisz instrukcję, która sprawi, że poniższy fragment programu będzie poprawny:
String s:
……………
System.out.print(s);
6. W języku (zaznacz właściwe, poprawne odp. +1 pkt., niepoprawna -1 pkt. Brak 0 pkt.)
[] Java
[]C++
Istnieje klasa najogólniejsza, z której dziedziczą wszystkie pozostałe klasy.
7. Zaznacz, czy zdania są poprawne (T), czy fałszywe (N). Poprawna odpowiedź +1 pkt. niepoprawna – 1 pkt., brak 0 pkt.
[] metody zdefiniowane wewnątrz definicji klasy są kompilowane tak samo jak te, których definicje umieszczone są poza definicją
klasy (C++)
[] atrybuty prywatne są dziedziczone
[] w Javie każda klasa ma co najwyżej jedną klase bazową
[] w Javie wartością zmiennej zawsze jest obiekt
[] w języku Java nie da się programować w stylu proceduralnym
[] w C++ składowe chronione (protected) to takie, których nie można zdefiniować w klasie pochodnej
[] w języku Java składowe ostateczne (final) to takie, których nie można zdefiniować w klasie pochodnej
[] atrybuty stateczne można rozumieć jako atrybuty wspólne dla wszystkich obiektów danej klasy