PO lab 2

background image

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,

background image

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.


Wyszukiwarka

Podobne podstrony:
PO lab 5 id 364195 Nieznany
PO lab 9
PO lab 01
PO lab 2
PO lab 1
PO lab 6 id 364196 Nieznany
PO lab 7
PO lab 3
PO lab 5 id 364195 Nieznany
PO lab projekty C
spis lab I sem 2010
PO wyk07 v1
Rehabilitacja po endoprotezoplastyce stawu biodrowego
Systemy walutowe po II wojnie światowej

więcej podobnych podstron