background image

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