Więcej o klasach 101
32
33
34: <
35
36
37
38
39
40
41
42
43
int main()
<
// inicjalizuj lokalna zmienna typu Prostokąt Prostokąt MojProstokat(100, 20, 50, 80);
int Pole = MojProstokat.PobierzPole();
cout « "Pole: " « Pole « "\n";
cout « "Współrzędna X lewego gornego wierzchołka: "; cout « MojProstokat.PobierzGornyLewy().PobierzX(); return 0;
44: }
Pole: 3000
Współrzędna X lewego gornego wierzchołka: 20
Listing 7.3., w liniach 3—14 zawiera deklarację klasy Punkt, wykorzystywanej do przechowywania współrzędnych x i y. Ten program nie wykorzystuje zbyt często klasy Punkt, lecz klasa ta często się przydaje.
Klasa Punkt zawiera dwie zmienne wewnętrzne: jegoX i jegoY (patrz linie 12 i 13). Zmienne te przechowują wartości współrzędnych punktu. Interpretacja tych współrzędnych może być różna w różnych środowiskach graficznych.
Klasa Punkt, do odczytywania i zmieniania wartości zmiennych wewnętrznych, wykorzystuje funkcje dostępu typu inline (patrz deklaracje w liniach 7-10). Wykorzystujemy tutaj domyślny konstruktor i destruktor. Musisz zatem sam zadbać o nadanie zmiennym wewnętrznym odpowiednich wartości.
Linia 17 rozpoczyna deklarację klasy Prostokąt. Składa się ona z czterech punktów
reprezentujących cztery wierzchołki prostokąta.
Konstruktor klasy Prostokąt pobiera cztery wartości całkowite (int) nazwane: góra, doi, lewy i prawy. Wartości tych parametrów są przypisywane odpowiednim zmiennym wewnętrznym. Ustalane są zatem wartości współrzędnych wszystkich punktów.
Dodatkowo zadeklarowaliśmy funkcję dostępu o nazwie PobierzPole () (patrz linia 43). Zamiast przechowywać pole prostokąta w zmiennej wyliczamy ją przy każdym wywołaniu funkcji PobierzPole () (patrz linie 27-29 w listingu 7.4). Obliczane są wymiary prostokąta, a następnie, na tej podstawie, pole.
Aby otrzymać wartość współrzędnej X lewego górnego wierzchołka prostokąta musimy odwołać się do obiektu jegoGornyLewy i zażądać wartości współrzędnej X. Ponieważ PobierzGornyLewy () jest wewnętrzną metodą klasy Prostokąt to ma ona dostęp do zmiennych zadeklarowanych w sekcji prywatnej, również do jegoGornyLewy. Ponieważ jegoGornyLewy jest obiektem klasy Punkt, i zmienna wewnętrzna jegoX jest w klasie Punkt prywatna, to nie możemy jej bezpośrednio odczytać. Aby uzyskać tę wartość, musimy wykorzystać funkcję dostępu PobierzX().
32:
33: int main()
34: (
35: // inicjalizuj lokalna zmienna typu Prostokąt
36: Prostokąt MojProstokat(100, 20, 50, 80);
37:
38: int Pole = MojProstokat.PobierzPole();
39:
40: cout « "Pole: " « Pole « ”\n";
41: cout « "Współrzędna X lewego gornego wierzchołka:
42: cout « MojProstokat.PobierzGornyLewy().PobierzX();
43: return 0;
44: }
Pole: 3000
Współrzędna X lewego gornego wierzchołka: 20
Listing 7.3., w liniach 3-14 zawiera deklarację klasy Punkt, wykorzystywanej do przechowywania współrzędnych x i y. Ten program nie wykorzystuje zbyt często klasy Punkt, lecz klasa ta często się przydaje.
Klasa Punkt zawiera dwie zmienne wewnętrzne: jegoX i jegoY (patrz linie 12 i 13). Zmienne te przechowują wartości współrzędnych punktu. Interpretacja tych współrzędnych może być różna w różnych środowiskach graficznych.
Klasa Punkt, do odczytywania i zmieniania wartości zmiennych wewnętrznych, wykorzystuje funkcje dostępu typu inline (patrz deklaracje w Uniach 7-10). Wykorzystujemy tutaj domyślny konstruktor i destruktor. Musisz zatem sam zadbać o nadanie zmiennym wewnętrznym odpowiednich wartości.
Linia 17 rozpoczyna deklarację klasy Prostokąt. Składa się ona z czterech punktów reprezentujących cztery wierzchołki prostokąta.
Konstruktor klasy Prostokąt pobiera cztery wartości całkowite (int) nazwane: góra, doi, lewy i prawy. Wartości tych parametrów są przypisywane odpowiednim zmiennym wewnętrznym. Ustalane są zatem wartości współrzędnych wszystkich punktów.
Dodatkowo zadeklarowaliśmy funkcję dostępu o nazwie PobierzPole () (patrz linia 43). Zamiast przechowywać pole prostokąta w zmiennej wyUczamy ją przy każdym wywołaniu funkcji PobierzPole () (patrz linie 27-29 w listingu 7.4). ObU-czane są wymiary prostokąta, a następnie, na tej podstawie, pole.
Aby otrzymać wartość współrzędnej X lewego górnego wierzchołka prostokąta musimy odwołać się do obiektu jegoGornyLewy i zażądać wartości współrzędnej X. Ponieważ PobierzGornyLewy () jest wewnętrzną metodą klasy Prostokąt to ma ona dostęp do zmiennych zadeklarowanych w sekcji prywatnej, również do jegoGornyLewy. Ponieważ jegoGornyLewy jest obiektem klasy Punkt, i zmienna wewnętrzna jegoX jest w klasie Punkt prywatna, to nie możemy jej bezpośrednio odczytać. Aby uzyskać tę wartość, musimy wykorzystać funkcję dostępu PobierzX().