Programowanie obiektowe, projekt-c++, \documentclass[a4paper,11pt]{article}


Programowanie obiektowe:

tematy zadania projektowego

Zadanie 1

Zdefiniować klasę abstrakcyjną Sekwencja do reprezentowania sekwencji liczb całkowitych oraz jej konkretne klasy pochodne Wektor i Lista. Klasa Sekwencja reprezentuje wspólne cechy sekwencji niezależne od szczegółów implementacji i powinna udostępniać m.in. funkcje wirtualne realizujące następujące operacje:

Klasa Wektor powinna implementować sekwencję jako wektor (tablicę) o zmiennej długości z pamięcią przydzielaną dynamicznie. Klasa Lista powinna reprezentować sekwencję jako listę jednokierunkową.

Dla każdej z klas zdefiniować konstruktory pozwalające na utworzenie sekwencji pustej, sekwencji o podanej początkowej długości i z podaną wartością początkową elementów, sekwencji zawierającej elementy danej tablicy liczb całkowitych oraz sekwencji będącej kopią innej sekwencji (dowolnego obiektu dowolnej klasy pochodnej klasy Sekwencja), a także odpowiednie destruktory zwalniające przydzieloną dla sekwencji pamięć. Ponadto zdefiniować operatory:

Operatory powinny jako argumenty przyjmować sekwencje będące obiektami dowolnej klasy pochodnej klasy Sekwencja.

Zadanie 2

Zdefiniować klasę abstrakcyjną Wielomian do reprezentowania wielomianów oraz jej konkretne klasy pochodne WielomianTablica i WielomianLista. Klasa Wielomian reprezentuje wspólne cechy wielomianu niezależne od szczegółowej implementacji i powinna udostępniać m.in. funkcje wirtualne realizujące następujące operacje:

Klasa WielomianTablica powinna reprezentować wielomian jako tablicę współczynników przy kolejnych potęgach zmiennej, określonych przez indeks tej tablicy. Pamięć dla niej należy przydzielać dynamicznie i zmieniać jej rozmiar w razie potrzeby. Klasa WielomianLista powinna reprezentować wielomian jako jednokierunkową listę przechowującą pary złożone z potęgi zmiennej i współczynnika przy tej potędze, przy czym każdej potędze może odpowiadać co najwyżej jeden element listy i nie mogą w niej występować żadne elementy ze współczynnikami równymi 0.

Dla każdej z klas zdefiniować konstruktory umożliwiające utworzenie wielomianu „pustego” (stale równego 0), wielomianu o podanym stopniu i współczynnikach podanych w tablicy oraz wielomianu będącego kopią innego wielomianu (dowolnego obiektu dowolnej klasy pochodnej klasy Wielomian), a także destruktory zwalniające przydzieloną pamięć. Ponadto zdefiniować operatory:

Operatory powinny jako argumenty przyjmować wielomiany będące obiektami dowolnej klasy pochodnej klasy Wielomian.

Zadanie 3

Zdefiniować klasę abstrakcyjną BuforEdycji do reprezentowania bufora tekstu w edytorze oraz jej konkretne klasy pochodne BuforWierszowy i BuforCiagly. Klasa BuforEdycji reprezentuje wspólne cechy bufora tekstu niezależne od szczegółowej implementacji i powinna zawierać składowe-zmienne reprezentujące aktualną pozycję (wiersz i kolumnę) w buforze oraz udostępniać m.in. funkcje wirtualne realizujące następujące operacje:

Klasa BuforWierszowy powinna reprezentować bufor tekstu jako tablicę wierszy, z dynamicznie przydzielaną pamięcią i możliwością zmiany liczby oraz długości wierszy. Każdy wiersz tekstu jest wówczas napisem (łańcuchem znakowym), na którego pierwszy znak wskazuje wskaźnik przechowywany w tablicy pod indeksem odpowiadającym numerowi wiersza. Klasa BuforCiagly powinna reprezentować bufor tekstu jako jeden „duży” ciągły napis (łańcuch znakowy), a podział na wiersze zaznaczają w nim znaki nowego wiersza. W tym przypadku pamięć powinna być przydzielana dynamicznie z zapasem i po jej zapełnieniu w razie potrzeby powiększana.

Dla każdej z klas zdefiniować konstruktory umożliwiające utworzenie bufora pozwalającego na przechowywanie tekstu liczącego co najmniej podaną liczbę wierszy i kolumn oraz bufora będącego kopią innego bufora (dowolnego obiektu dowolnej klasy pochodnej klasy BuforEdycji), a także destruktory zwalniające przydzieloną pamięć. Ponadto zdefiniować operatory:

Operatory powinny jako argumenty przyjmować bufory będące obiektami dowolnej klasy pochodnej klasy BuforEdycji.



Wyszukiwarka

Podobne podstrony:
projekt01, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt06, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt07, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt03, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt04, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt08, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt05, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt02, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
Zadanie projekt przychodnia lekarska, Programowanie obiektowe
Zadanie projekt bajka o jasiu i malgosi, Programowanie obiektowe
Programowanie obiektowe dokumentacja projektu
zadanie projekt bibliteka procesorów, Programowanie obiektowe
PROJEKT PROCESOR, Programowanie obiektowe
Zadanie projekt przychodnia lekarska, Programowanie obiektowe
Programowanie obiektowe(ćw) 1
Programowanie obiektowe w PHP4 i PHP5 11 2005
Programowanie Obiektowe ZadTest Nieznany
Egzamin Programowanie Obiektowe Głowacki, Programowanie Obiektowe
Jezyk C Efektywne programowanie obiektowe cpefpo

więcej podobnych podstron