Laboratorium_1
Transkrypt
Laboratorium_1
Programowanie Obiektowe w C++ – LABORATORIUM 1 Do każdego z poniższych zadań napisz program ilustrujący wszystkie właściwości klasy. Kompilacja: g++ -std=c++11 -Wall -o KontoBankowe KontoBankowe.cc Zad.1 Zdefiniuj klasę o nazwie KontoBankowe reprezentującą konto bankowe. Dane składowe powinny obejmować nazwę depozytariusza (string), numer konta (string) oraz saldo. Funkcje składowe powinny realizować następujące operacje: • Ustawianie nazwy depozytariusza. • Ustawianie numeru konta. • Ustawianie salda. • Wyświetlanie nazwy depozytariusza, numeru konta i salda. • Wpłacanie kwoty określonej przez argument. • Wypłacanie kwoty określonej przez argument. W funkcji main() zadeklaruj obiekt klasy KontoBankowe, ustaw wartości pól składowych, wpłać pewną kwotę na konto, wyświetl na ekranie stan konta, wypłać pewną kwotę z konta i ponownie wyświetl jego stan. Cały program umieść w jednym pliku. Zad.2 Wykonaj zadanie 1, ale tym razem w jednym pliku w definicji klasy umieść tylko deklaracje metod, a ich definicje umieść poza definicją klasy. Zad.3 Uzupełnij funkcję main() instrukcjami: • Utwórz tyle obiektów, aby było ich 3. • Zadeklaruj tablicę 3 wskaźników do obiektów typu Konto Bankowe. • Ustaw wskaźniki z tablicy na zadeklarowane wcześniej obiekty. • Wywołaj na ich rzecz dozwolone operacje. Zad.4 Uzupełnij definicję klasy o konstruktor i destruktor. Określ stałe metody. Zdefiniuj statyczne, prywatne pole licznik, które będzie przechowywało liczbę utworzonych obiektów klasy KontoBankowe oraz statyczną metodę publiczną zwracającą jego wartość. Zad.5 Dana jest deklaracja klasy Punkt. Napisz definicję funkcji oraz program, który ilustruje działanie klasy: class Punkt { private: double x,y; // współrzędne kartezjańskie public: Punkt(double,double); // konstruktor void przesun(double,double); // przesuń void skaluj(double); // skaluj double odcieta(); // zwróć wartość x double rzedna(); // zwróć wartość y }; Zad.6 Napisz zewnętrzną funkcję Drukuj(), która będzie wyświetlała opis punktu i jego składowe. Jakie parametry należy przekazać tej funkcji? Zad.7 Uzupełnij klasę Punkt o możliwość przechowywania nazwy punktu. Załóż, że punkty opisujemy pojedynczymi literami alfabetu. Jakie zmiany będzie trzeba wykonać? Zad.8 Uzupełnij klasę Punkt o sprawdzanie czy dwa punkty mają takie same współrzędne. Zad.9 Napisz zewnętrzną funkcję, która sprawdza, czy dwa punkty znajdują się w takiej samej odległości od początku układu współrzędnych. Zad.10 Napisz program, w którym będziesz wykorzystywał tablicę punktów. Przetestuj na elementach tablicy metody klasy.