PO lab 2, AGH Matematyka Stosowana (WMS), Programowanie i języki programowania, Inne (kolokwia + przydatne na ...
[ Pobierz całość w formacie PDF ]
Programowanie obiektowe w C++ - Laboratorium 2
Zadanie 1.
W programie zdefiniowano klasę:
class
T
{
int
liczba;
char
nazwa;
public
:
T
();
T
(
int
nowa_liczba,
char
nowa_nazwa);
void
drukuj
();
};
Które z poniższych wyrażeń są poprawne?
a)
T obiekt(1,'A');
b) T inny_obiekt;
c) T jeszcze_inny_obiekt();
d) obiekt=T(2,'B');
e) obiekt=T();
f) obiekt=T;
Zadanie 2.
Dana jest deklaracja klasy
Punkt
w pliku „punkt.h”. Napisz definicję funkcji („punkt.cpp”) oraz program testowy o
nazwie
mainPunkt
, 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
};
Zadanie 3.
Uzupełnij program testowy z zadania 2 o zewnętrzną funkcję
Drukuj,
która będzie wyświetlała opis punktu i jego
składowe. Jakie parametry należy przekazać tej funkcji?
Zadanie 4.
Uzupełnij klasę
Punkt
o możliwość przechowywania nazwy punktu. Zakładamy, że punkty opisujemy pojedynczymi
i tylko dużymi literami alfabetu.
Zadanie 5.
Uzupełnij klasę
Punkt
o sprawdzanie, czy dwa punkty mają takie same współrzędne.
Zadanie 6.
Napisz w programie testowym z zadania 2 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.
Zadanie 7.
W programie
mainPunkt.cpp
zadeklaruj tablicę 3 punktów. Współrzędne punktów podaje użytkownik. Czy klasa
Punkt
w obecnej postaci umożliwia budowę takiego programu? Co należałoby w niej zmienić?
Zadanie 8.
Utwórz klasę
Kwadrat
, która będzie służyła do obsługi zbioru kwadratów na płaszczyźnie. Dane składowe obiektu
współrzędne lewego górnego wierzchołka (
lewyX
,
lewyY
), długość boku (
dl
),
nazwa
kwadratu (jednoznakowa). Klasa ta
ma zawi erać:
• konstruktor domyślny
Kwadrat::Kwadrat()
, którego zadaniem jest przypisanie wartości domyślnych (0,1)
współrzędnym lewego górnego wierzchołka, 10 długości boku i nazwę pustą (spacja);
• konstruktor z jednym parametrem - nazwą
Kwadrat::Kwadrat(char pNazwa)
, pozostałe parametry tak,
Programowanie obiektowe w C++ - Laboratorium 2
jak w konstruktorze domyślnym;
• konstruktor z pełnym zestawem parametrów
Kwadrat::Kwadrat(int nLewy, int nGorny, int
Bok, char pNazwa)
•
funkcję składową
void drukuj(),
którego wypisanie informacji o kwadracie (praca domowa: zmienić
definicję funkcji tak, aby funkcja rysowała kwadrat o zadanych parametrach na ekranie)
;
•
funkcję składową
void przesun(int dx, int dy)
.
Napisz program testowy, który utworzy trzy kwadraty (domyślny, domyślny z własną nazwą i zdefiniowany przez
użytkownika), wyświetli informacje o nich, przesunie wybrany kwadrat i wyświetli jego położenie po przesunięciu.
Zadanie 9.
Posługując się klasą
Kwadrat
napisz program, za pomocą którego będzie można tworzyć zbiór kwadratów
wyznaczony przez użytkownika. Użytkownik wpisuje: liczbę kwadratów (nie więcej niż liter w alfabecie), położenie i
rozmiar boku poszczególnych kwadratów. Nazwą kwadratu jest kolejna litera alfabetu.
Program ma umożliwić wydrukowanie danych poszczególnych kwadratów, przesunięcie ich o 10 jednostek w prawo i
do góry oraz ponowne wydrukowanie danych kwadratów.
[ Pobierz całość w formacie PDF ]