Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Algorytmy i podstawy informatyki

Co definiuje w języku C++ przedstawiony fragment kodu?

struct CONTACT
{
    std::string nazwisko;
    std::string telefon;
    int numer;
};
A. Typ strukturalny składający się z trzech pól.
Dobrze. struct CONTACT to typ strukturalny z polami nazwisko, telefon i numer.
B. Trzy zmienne niepowiązane ze sobą.
Źle. Pola są zgrupowane w jednym typie, a sama definicja nie tworzy jeszcze zmiennych.
C. Kontakt pomiędzy zmiennymi globalnymi i lokalnymi.
Źle. Zasięg zmiennej wynika z miejsca deklaracji, a struct definiuje nowy typ danych.
D. Hierarchię zmiennych.
Źle. Pola struktury są równorzędne, żadne nie jest nadrzędne wobec pozostałych.

Pytanie z egzaminu CKE, czerwiec 2014 (arkusz E.14-X-14.05).

Słowo kluczowe struct definiuje nowy typ strukturalny, czyli własny typ danych zbudowany z kilku pól. Typ CONTACT ma trzy pola: dwa napisy (nazwisko i telefon) oraz liczbę całkowitą numer. Sama definicja nie tworzy jeszcze żadnej zmiennej - to szablon. Zmienną tego typu deklaruje się dopiero zapisem CONTACT k;, a do pól odwołuje się przez kropkę, np. k.numer = 5;. Struktura pozwala trzymać razem dane opisujące jeden obiekt, tu jeden kontakt w książce adresowej. Zwróć uwagę na średnik po nawiasie klamrowym - bez niego kompilator zgłosi błąd. W C++ struktura różni się od klasy głównie tym, że jej składowe są domyślnie publiczne.

Trzy pola w nawiasie klamrowym łatwo wziąć za trzy osobne zmienne, ale są one częścią jednego typu - każda zmienna typu CONTACT będzie miała własny komplet nazwiska, telefonu i numeru. Nie są więc niepowiązane, tylko zgrupowane. Nazwa CONTACT nie ma nic wspólnego z połączeniem zmiennych globalnych i lokalnych: o tym, czy zmienna jest globalna, decyduje miejsce jej deklaracji, a nie słowo struct. Hierarchia zmiennych też nie pasuje, bo pola struktury są sobie równorzędne i żadne nie jest nadrzędne wobec innych. Kod opisuje budowę nowego typu danych, z którego potem tworzy się zmienne, na przykład tablicę kontaktów CONTACT lista[100];. Taki zapis przydaje się wszędzie, gdzie kilka informacji opisuje jedną rzecz. Dostęp do pojedynczego pola zawsze wymaga wskazania konkretnej zmiennej, np. lista[0].numer.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.