Przejdź do treści głównej
INF.04Pytanie #192 z 856klasy-obiekty-i-metody

Poprawna definicja konstruktora przedstawionej klasy w języku C++ może wyglądać jak w

Opcje odpowiedzi:
A
Deklaracji 1
Prawidłowa
B
Deklaracji 2
C
Deklaracji 3
D
Deklaracji 4
Reklama

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::Owoc oraz operatora this->, 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 Construct zamiast nazwy klasy Owoc przed 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ż this jest wskaźnikiem, poprawną formą jest this->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.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

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.