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