zadania

Transkrypt

zadania
Przykładowy test z egzaminu
IMIĘ I NAZWISKO:
ZADANIE 1: W podanym poniżej kodzie źródłowym znajdują się cztery błędy (po jednym błędzie
w każdej z czterech części kodu). Proszę zaznaczyć te błędy zakreślając je kółkiem. Obok proszę
podać poprawną postać lub uzasadnić, na czym polega błąd. Uwaga: ten sam błąd, który powtarza
się, jest liczony jako jeden.
class zespolona
{
public:
zespolona(float _re, float _im);
zespolona operator + (zespolona &z);
private:
float re, im;
}
zespolona::zespolona(float _re, float _im)
{
re = this->_re;
im = this->_im;
}
zespolona::zespolona operator + (zespolona &z)
{
zespolona wynik(0, 0);
wynik.re = re+z.re;
wynik.im = im+z.im;
return wynik;
}
void main()
{
zespolona z1(2, -3), z2(4, 2), z3(2);
z3 = z1 + z2;
}
_______________________________________________________________________________
ZADANIE 2: Proszę zadeklarować klasę o nazwie czas. Klasa powinna zawierać pola g oraz m
typu int, przechowujące czas zegarowy w postaci liczby godzin (pole g) i liczby minut (pole m)
oraz deklaracje funkcji z punktów b, c, d. Następnie proszę zdefiniować funkcje z punktów b, c, d.
a) Deklaracja klasy.
Przykładowy test z egzaminu
b) Definicja konstruktora z parametrami określającymi liczbę godzin i minut.
c) Definicja funkcji składowej oblicz, która oblicza liczbę minut jaka upłynęła od północy (dla
danego czasu opisanego wartościami pól g i m) i zwraca wynik instrukcją return.
d) Definicja funkcji zaprzyjaźnionej drukuj, która wypisuje na ekranie czas zegarowy w postaci
wartości pól g i m.
ZADANIE 3: Obok poniższych stwierdzeń proszę wstawić znak X tylko w jednym polu.
TREŚĆ STWIERDZENIA
Możliwe jest przeciążenie operatora % (reszta z dzielenia)
jako jednoargumentowego.
2. Pola statyczne klasy są wspólne dla wszystkich obiektów tej
klasy.
3. Konstruktor kopiujący jest bezparametrowy.
4. Składowe prywatne klasy są dostępne na zewnątrz klasy
poprzez odwołanie się do ich nazwy.
5. Dowolny operator języka C++ którego przeciążenie jest
możliwe, można zdefiniować zarówno jako funkcję składową
klasy i funkcję zaprzyjaźnioną z klasą.
6. Konstruktor jest dziedziczony.
7. Możliwe jest przeciążenie operatora ::
8. Zaprzyjaźnienia nie są dziedziczone.
9. Konstruktor nie może zwracać wartości.
10. Przynależność składowej do klasy oznaczamy słowem
kluczowym friend.
1.
PRAWDA
FAŁSZ
PRAWDA
WARUNKOWO