Praca semestralna CENTRUM EDUKACJI AKADEMIA SUKCESU

Podobne dokumenty
KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

TEMAT : KLASY POLIMORFIZM

dr inż. Jarosław Forenc

Techniki Programowania wskaźniki 2

Laboratorium 1 - Programowanie proceduralne i obiektowe

Polimorfizm w pigułce

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

Programowanie 2. Język C++. Wykład 3.

Wprowadzenie do programowania i programowanie obiektowe

#include "stdafx.h" #include <iostream> #include "windows.h" using namespace std;

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Projektowanie klas c.d. Projektowanie klas przykład

Programowanie - wykład 4

Podstawy Programowania Obiektowego

Informacja o programowaniu w c++ Dr Maciej Bobrowski

Informatyka. Wy-08 Klasy. mgr inż. Krzysztof Kołodziejczyk

Wykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy

I - Microsoft Visual Studio C++

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Część 4 życie programu

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Zofia Kruczkiewicz, ETE8305_2 1

Języki i paradygmaty programowania

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: piątek:

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Do czego służą klasy?

Programowanie Obiektowew języku C++ Zadania L4

Podstawy Programowania Obiektowego

Mechanizm dziedziczenia

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

ALGORYTMY I STRUKTURY DANYCH

Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:

Wyjątki (exceptions)

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Programowanie obiektowe w języku C++ Zarządzanie procesami. dr inż. Jarosław Forenc. Przeładowanie (przeciążanie) operatorów

Programowanie i struktury danych

typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury

Programowanie Obiektowew języku C++ Zadania L9

Programowanie Obiektowew języku C++ Zadania L2

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Jak napisać listę jednokierunkową?

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

Listy powiązane zorientowane obiektowo

Programowanie i struktury danych

Wstęp do Programowania 2

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Programowanie Obiektowew języku C++ Zadania L8

Wstęp do programowania. Dariusz Wardecki, wyk. X

Środowisko programistyczne GEANT4

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Biblioteka obiektowa C++ klasa string - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ

C++ wprowadzanie zmiennych

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

Programowanie II. Lista 3. Modyfikatory dostępu plik TKLientBanku.h

PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.

Programowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26

Mechanizm dziedziczenia

Informatyka 2. Informatyka 2. Wykład nr 1 ( ) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2)

Programowanie obiektowe i C++ dla matematyków

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

KLASY cz.1. Dorota Pylak

Informatyka 2. Wykład nr 3 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

class Student Deklaracja klasy Osoba: Deklaracja klasy Student:

Programowanie obiektowe w języku

Język C++ Różnice między C a C++

Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach

Listy i funkcje zaprzyjaźnione w C++

Do czego służą klasy?

Język C++ wykład VIII

Programowanie Obiektowo Zorientowane w języku C++ Klasy, pola, metody

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Deklaracja struktury w C++

Programowanie obiektowe

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Programowanie obiektowe

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

Transkrypt:

CENTRUM EDUKACJI AKADEMIA SUKCESU Praca semestralna Kierunek: Technik Informatyk Przedmiot: Programowanie Strukturalne i Obiektowe Semestr: III Wykładowca : Agnieszka Wojno Temat: Zaprojektuj klasę Przesyłka, która będzie posiadała następujące atrybuty: imię_odbiorcy, nazwisko_odbiorcy, adres_odbiorcy. Atrybuty te mają nie być ogólnie dostępne, ale będą z nich korzystać inne klasy dziedziczące z klasy Przesyłka. Wybierz odpowiedni rodzaj hermetyzacji tych atrybutów. Następnie utwórz dwie klasy dziedziczące z klasy Przesyłka. Pierwsza to List. Posiada ona następujące atrybuty: cena_znaczka, rodzaj (np. zwykły lub polecony). Druga klasa dziedzicząca z klasy Przesyłka, to Paczka. Klasa ta posiada następujące atrybuty niedostępne ogólnie: nr_paczki, opłata. Dla wszystkich atrybutów klas wybierz najlepsze dla nich typy zmiennych. Utwórz publiczne metody służące do ustawiania wartości atrybutów obiektów oraz do ich wyświetlania. Klasy wyposaż w konstruktory: bezparametryczny i z parametrami. Utwórz po dwa obiekty typu List i Paczka (używając różnych konstruktorów oraz co najmniej jeden obiekt dynamiczny) i wyświetl informacje na ich temat. Łukasz Stocki (Imię i nazwisko Słuchacza) Białystok, 12 Listopad 2011

1 Kod programu: #include <cstdlib> #include <iostream> #include <string> using namespace std; class Przesylka{ protected: string imie_odbiorcy, nazwisko_odbiorcy, adres_odbiorcy; void ustawimieodbiorcy( string imie ){ imie_odbiorcy = imie; void ustawnazwiskoodbiorcy( string nazwisko ){ nazwisko_odbiorcy = nazwisko; void ustawadresodbiorcy( string adres ){ adres_odbiorcy = adres; void ustawprzesylke( string imie, string nazwisko, string adres ){ ustawimieodbiorcy( imie ); ustawnazwiskoodbiorcy( nazwisko ); ustawadresodbiorcy( adres ); void wypiszimieodbiorcy(void){ cout << "Imie odbiorcy: " << imie_odbiorcy << endl; void wypisznazwiskoodbiorcy(void){ cout << "Nazwisko odbiorcy: " << nazwisko_odbiorcy << endl; void wypiszadresodbiorcy(void){ cout << "Adres odbiorcy: " << adres_odbiorcy << endl; void przesylkainfo(void){ wypiszimieodbiorcy(); wypisznazwiskoodbiorcy(); wypiszadresodbiorcy(); Przesylka(){ ustawimieodbiorcy("brak imienia"); ustawnazwiskoodbiorcy("brak nazwiska"); ustawadresodbiorcy("brak adresu"); //konstruktor bez parametrow Przesylka( string imie, string nazwisko, string adres ){ ustawimieodbiorcy( imie ); ustawnazwiskoodbiorcy( nazwisko ); ustawadresodbiorcy( adres ); //konstruktor z parametrami ;//class Przesylka class List:public Przesylka{ private: float cena_znaczka; string rodzaj;

2 void ustawceneznaczka( float nowacena ){ cena_znaczka = nowacena; void ustawrodzajlistu( string rodzajlistu ){ rodzaj = rodzajlistu; void ustawlist( string imie, string nazwisko, string adres, float cena, string rodzaj ){ this->ustawprzesylke( imie, nazwisko, adres ); ustawceneznaczka( cena ); ustawrodzajlistu( rodzaj ); void wypiszceneznaczka( void ){ cout << "Cena znaczka: " << cena_znaczka << endl; void wypiszrodzajlistu( void ){ cout << "Rodzaj listu: " << rodzaj << endl; void listinfo( void ){ this->przesylkainfo(); wypiszceneznaczka(); wypiszrodzajlistu(); List(){ ustawceneznaczka( 3.5 ); ustawrodzajlistu( "zwykly" ); List( string imie, string nazwisko, string adres, float cena, string rodzaj ){ ustawlist( imie, nazwisko, adres, cena, rodzaj ); ;//class List class Paczka:public Przesylka{ private: int nr_paczki; float oplata; void ustawnrpaczki( int nowynumerpaczki ){ nr_paczki = nowynumerpaczki; void ustawoplatepaczki( float oplata ){ this->oplata = oplata; void ustawpaczke( string imie, string nazwisko, string adres, int nrpaczki, float oplata ){ this->ustawprzesylke( imie, nazwisko, adres ); ustawnrpaczki( nrpaczki ); ustawoplatepaczki( oplata ); void wypisznrpaczaki(void){ cout << "Nr paczki: " << nr_paczki << endl; void wypiszoplatepaczki(void){ cout << "Oplata paczki: " << oplata << endl; void infopaczka(void){

3 this->przesylkainfo(); wypisznrpaczaki(); wypiszoplatepaczki(); Paczka(){ ustawnrpaczki( 1234 ); ustawoplatepaczki( 5.50 ); Paczka( string imie, string nazwisko, string adres, int nrpaczki, float oplata ){ ustawpaczke( imie, nazwisko, adres, nrpaczki, oplata ); ;//class Paczka void linia( void ){ cout << endl; int main(int argc, char *argv[]){ List list1; list1.listinfo(); List list2; list2.ustawlist( "Jan", "Kowalski", "ul. Jana Kowalskiego 68", 2.56, "polecony" ); list2.listinfo(); List* list3 = new List( "Adam", "Adamoski", "ul. Adama Adamoskiego 11", 3.50, "zwykly" ); list3->listinfo(); delete list3; Paczka paczka1; paczka1.infopaczka(); Paczka paczka2; paczka2.ustawpaczke( "Anna", "Annowska", "ul. Anny Annowskiej 13", 131313, 13.13 ); paczka2.infopaczka(); Paczka* paczka3 = new Paczka( "Anna", "Annowska", "ul. Anny Annowskiej 13", 131313, 13.13 ); paczka3->infopaczka(); delete paczka3; return 0; //main

Wynik działania programu: 4