Poprawna definicja konstruktora przedstawionej klasy w języku C++ może wyglądać jak w
Poprawna definicja konstruktora przedstawionej klasy w języku C++ może wyglądać jak w
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: A (Deklaracja 1)
Uzasadnienie i szersze wyjaśnienie:
W języku C++ definicja metody (w tym konstruktora) poza ciałem klasy wymaga użycia operatora zasięgu (::). Składnia ma postać NazwaKlasy::NazwaMetody(parametry). Ponieważ konstruktor ma taką samą nazwę jak klasa, jego definicja musi zaczynać się od Owoc::Owoc(...). To eliminuje deklaracje 2 i 3.
Kolejnym kluczowym elementem jest sposób odwoływania się do składowych (pól) obiektu wewnątrz jego metod. W C++ służy do tego wskaźnik this, który przechowuje adres bieżącego obiektu. Aby uzyskać dostęp do składowej za pomocą wskaźnika, używa się operatora strzałki ->. Składnia this->waga oznacza „pole waga obiektu, na który wskazuje this”.
- Deklaracja 1: Używa poprawnej składni
Owoc::Owocoraz operatorathis->, co jest w pełni prawidłowe.
Dlaczego pozostałe odpowiedzi są nieprawidłowe?
- Deklaracja 2 i 3: Używają nieistniejącego słowa kluczowego
Constructzamiast nazwy klasyOwocprzed operatorem::. - Deklaracja 4: Używa niepoprawnej składni
this.waga. Operator kropki.jest używany do odwoływania się do składowych obiektu bezpośrednio, a nie przez wskaźnik. Ponieważthisjest wskaźnikiem, poprawną formą jestthis->waga.
Chcesz poćwiczyć całą kwalifikację INF.04?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Język programowania C++Wieloparadygmatowy, kompilowany bezpośrednio do kodu maszynowego język programowania ogólnego przeznaczenia, oferujący bezpośrednie zarządzanie pamięcią i najwyższą wydajność.
- Konstruktor i DestruktorSpecjalne metody klasy: Konstruktor inicjalizuje stan nowo tworzonego obiektu, a Destruktor zwalnia zasoby przed jego usunięciem.
- Wskaźnik i Zarządzanie Pamięcią (Pointers)Zmienna przechowująca adres innej komórki pamięci RAM zamiast bezpośredniej wartości, operująca za pomocą operatora pobrania adresu (&) i dereferencji (*).
Podobne pytania z działu „Klasy obiekty i metody”
Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 38 pytań z tego działu.
- #87
Przedstawiony zapis w języku C# oznacza definicję klasy Car, która:
- #134
W przedstawionym kodzie zdefiniowano abstrakcyjną klasę figura i dziedziczącą po niej klasę prostokąta ze zdefiniowanymi polami i konstruktorami. Wskaż minimalną implementację sekcji /* metody klasy */ dla klasy Prostokat:
- #136
W języku C# szablon List implementuje funkcjonalność listy. Z inicjalizacji obiektu wykaz wynika, że jego elementami są:
- #150
W językach C++ lub C# słowo kluczowe virtual można stosować do
- #153
Zastosowanie modyfikatora abstract w definicji metody klasy oznacza, że