// Struktura programu // Katalog. #include<iostream> #include "Book.h" #include "Audio.h" using namespace std;



Podobne dokumenty
string Rodzaj[4]= {"TV ", "wieza ", "DVD ", "kino "}; string Producent[4]={"Phillips", "Sony ", "Sanyo ", "Samsung "};

Przeciążenie funkcji w C++ Mechanizm pozwalający na użycie tej samej funkcji do zdefiniowania kilku funkcji o takich samych listach parametrów.

Owad():waga(1),jadowitosc(false) {cout<<"konstruktor domyslny owada\n";}

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

TEMAT : KLASY POLIMORFIZM

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

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

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

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.

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Projektowanie klas c.d. Projektowanie klas przykład

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

Plik klasy. h deklaracje klas

class Samochod { void Ruch(); }; class Amfibia : public Samochod { void Ruch(); // amfibie pływają };

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

Programowanie obiektowe w C++ Wykład 12

Wstęp do Programowania 2

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

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

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

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30

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

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

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

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

Programowanie obiektowe język C++

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

dr inż. Jarosław Forenc

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

KLASY cz4. Dorota Pylak. destruktory składowe statyczne przeciążanie operatorów. wskaźniki

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

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

Programowanie (obiektowe) cz.12

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

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

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

PARADYGMATY PROGRAMOWANIA Wykład 2

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

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

Programowanie Obiektowew języku C++ Zadania L9

PARADYGMATY PROGRAMOWANIA Wykład 3

Dziedziczenie & W slajdach są materiały zapożyczone z

Programowanie obiektowe

Język C++ wykład VIII

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

Dziedziczenie ze wspólnej klasy bazowej. Amfibia

Programowanie Obiektowew języku C++ Zadania L8

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

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

Wstęp do Programowania 2

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM

Wykład 4: Klasy i Metody

Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40

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

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

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

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

C-struktury wykład. Dorota Pylak

Informacja o programowaniu w c++ Dr Maciej Bobrowski

Ssak::Ssak(Ssak& ref):waga(ref.ile_wazy()) {cout << "Konstruktor kopiujacy klasy Ssak...\n";} 1

Laboratorium 1 - Programowanie proceduralne i obiektowe

Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27

Programowanie obiektowe i C++ dla matematyków

Wykład 5 Okna MDI i SDI, dziedziczenie

Listy i funkcje zaprzyjaźnione w C++

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

Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )

C-struktury wykład. Dorota Pylak

Programowanie i struktury danych

Mechanizm dziedziczenia

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

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

Podstawy algorytmiki i programowania - wykład 5 C-struktury cd.

referencje Wykład 2. Programowanie (język C++) Referencje (1) int Num = 50; zdefiniowano zmienną Num (typu int) nadając jej wartość początkową 50.

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

Programowanie 2. Język C++. Wykład Relacje między klasami, klasy zagnieŝdŝone, klasy lokalne

Zwracanie obiektu. Funkcja może zwracać obiekty: #include"stdafx.h #include <iostream> using namespace std; class samp { inti; public:

Programowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi:

Zofia Kruczkiewicz, ETE8305_2 1

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

Podstawy Programowania Obiektowego

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

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

Programowanie Obiektowew języku C++ Zadania L4

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Część 4 życie programu

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31

Przekazywanie argumentów wskaźniki

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Wzorce funkcji (szablony)

Techniki Programowania wskaźniki

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Transkrypt:

// Struktura programu // Katalog #include<iostream> #include "Book.h" #include "Audio.h" using namespace std; void main() Book book; book.wpisz(); book.drukuj(); Audio audio; audio.wpisz(); audio.drukuj(); cout<<endl; system("pause"); return; 1

// Plik nagłówkowy klasy Audio #pragma once #include<iostream> #include<string> using namespace std; class Audio string Autor, Tytul,Format; int Rok, Nr_kat; public: void Wpisz(); void Drukuj(); ; 2

//Plik Audio.cpp #include "Audio.h" void Audio::Wpisz() cout<<"\ndane ksiazki :\nautor :\t"; cin>>autor; cout<<"tytul : \t"; cin>>tytul; cout<<"format :\t"; cin>>format; cout<<"nr katal. :\t"; cin>>nr_kat; 3

void Audio::Drukuj() cout<<"audiobook\n"<<"autor : "; cout<<autor; cout<<"\ntytul : "; cout<<tytul; cout<<"\nformat : "; cout<<format; cout<<"\nnumer : "; cout<<nr_kat; 4

// Plik nagłówkowy klasy Book #include<iostream> #include<string> #pragma once using namespace std; class Book string Autor, Tytul; int Rok, Nr_kat; public: void Wpisz(); void Drukuj(); ; 5

// Plik Book.cpp #include "Book.h" void Book::Wpisz() cout<<"\ndane ksiazki :\nautor :\t"; cin>>autor; cout<<"tytul : \t"; cin>>tytul; cout<<"rok :\t"; cin>>rok; cout<<"nr katal. :\t"; cin>>nr_kat; 6

void Book::Drukuj() cout<<"ksiazka\n"<<"autor : "; cout<<autor; cout<<"\ntytul : "; cout<<tytul; cout<<"\nrok : "; cout<<rok; cout<<"\nnumer : "; cout<<nr_kat; 7

Dane ksiazki : Autor : Reymont Tytul : Chlopi Rok : 2012 Nr katal. : 123456 Ksiazka Autor : Reymont Tytul : Chlopi Rok : 2012 Numer : 123456 Dane ksiazki : Autor : Tolkien Tytul : Hobbit Format : mp3 Nr katal. : 456789 Audiobook Autor : Tolkien Tytul : Hobbit Format : mp3 Numer : 456789 Press any key to continue... 8

Konstruktor Specjalna funkcja służąca do tworzenia obiektów klasy. W ogólnym przypadku dostęp public. // Konstruktor #include<iostream> using namespace std; class Pies char* Rasa; char* Imie; int Wiek; public: 9

//Konstruktor Pies (char* rasa, char* imie, int wiek) Rasa=rasa; Imie=imie; Wiek=wiek; cout<<"konstruktor zostal wywolany\n"; void ID() cout<<rasa<<"\t"<<imie<<"\t"<<wiek<<endl; ; void main() //Pies bezdomny; Pies Kastor("spaniel","Kastor",14); Kastor.ID(); system("pause"); 10

Konstruktor zostal wywolany spaniel Kastor 14 Press any key to continue... // Konstruktor domyślny #include<iostream> using namespace std; class Pies char* Rasa; char* Imie; int Wiek; 11

public: //Konstruktor Pies (char* rasa, char* imie, int wiek) Rasa=rasa; Imie=imie; Wiek=wiek; cout<<"konstruktor zostal wywolany\n"; //Konstruktor domyslny Pies() Rasa="kundelek"; Imie="brak"; cout<<"\nkonstruktor domyslny"<<endl; ; void ID() cout<<rasa<<"\t"<<imie<<"\t"<<wiek<<endl; 12

void main() Pies bezdomny; Pies Kastor("spaniel","Kastor",14); bezdomny.id(); Kastor.ID(); system("pause"); Konstruktor domyslny Konstruktor zostal wywolany kundelek brak -858993460 spaniel Kastor 14 Press any key to continue... 13

// Umiejscowienie funkcji i konstruktorów #include<iostream> #include<string> using namespace std; enum RodzajTV, wieza, DVD, kino; enum ProducentPhillips, Sony, Sanyo; class Sprzet_AV Rodzaj rodzaj; Producent firma; public: int numer_fabr; 14

//Funkcje void GetFirm(); void GetSort(); void SetSort(Rodzaj aa) rodzaj=aa; void SetFirm(Producent bb) firma=bb; //Konstruktory Sprzet_AV(); ; Sprzet_AV(Rodzaj a1,producent a2, int a3) :rodzaj(a1),firma(a2),numer_fabr(a3) Sprzet_AV(Rodzaj a1,producent a2) rodzaj=a1; firma=a2; Sprzet_AV(Rodzaj a1); Sprzet_AV(Producent a2); 15

void Sprzet_AV::GetFirm() cout<<firma<<"\t"; void Sprzet_AV::GetSort() cout<<rodzaj<<"\t"; Sprzet_AV::Sprzet_AV(Producent a2) :firma(a2),rodzaj(tv) Sprzet_AV::Sprzet_AV(Rodzaj a1) firma=phillips; rodzaj=a1; int main() Sprzet_AV magazyn[5]= Sprzet_AV(), Sprzet_AV(TV), Sprzet_AV(Phillips), Sprzet_AV(DVD,Sony,12345678), Sprzet_AV(kino,Sanyo) ; 16

int i=0; for (i=0;i<5;i++) magazyn[i].getfirm(); magazyn[i].getsort(); cout<<magazyn[i].numer_fabr<<"\n"; ; system("pause"); return 0; -858993460-858993460 -858993460 0 0-858993460 0 0-858993460 1 2 12345678 2 3-858993460 Press any key to continue... 17

//Dostęp do składowych klasy #include <iostream> #include <string> using namespace std; class Car string Numer_VIN; protected: string Marka; public: string Model; Car(string VIN, string marka, string model) Numer_VIN=VIN; Marka=marka; Model=model; 18

Car():Marka("Honda"),Model("Accord") Car(string VIN):Marka("Honda"),Model("Accord") Numer_VIN=VIN; string GetMarka() return Marka; int SetMarka(string mark) Marka=mark; return 0; string GetVIN() return Numer_VIN; ; int SetVIN(string numer) Numer_VIN=numer; return 0; 19

int main(void) Car car1=car("vnm1234","opel","corsa"); Car car2; Car car3("klmn1234"); car2.setmarka("polonez"); car2.model="caro"; car2.setvin("mkk8976"); //car2.marka="polonez"; //car1.numer_vin= ABCD123456"; cout<<car1.getmarka()<<"\t"<<car1.model<<"\t"<<car1.getvin()<<endl; cout<<car2.getmarka()<<"\t"<<car2.model<<"\t"<<car2.getvin()<<endl; cout<<car3.getmarka()<<"\t"<<car3.model<<"\t"<<car3.getvin()<<endl; system("pause"); return 0; Opel Corsa VNM1234 Polonez Caro MKK8976 Honda Accord KLMN1234 Press any key to continue... 20

//Konstruktor i destruktor #include<iostream> using namespace std; class Example public: Example() cout<<"konstruktor\n"; //Destruktor ~Example() cout<<"destruktor\n"; ; void main() Example Examples[5]; for (int i=0; i<5; i++) cout<<i<<endl; Examples[i].~Example(); 21

Example Przyklad; system("pause"); Konstruktor Konstruktor Konstruktor Konstruktor Konstruktor 0 Destruktor 1 Destruktor 2 Destruktor 3 Destruktor 4 Destruktor Konstruktor Press any key to continue... 22

// Tablice obiektow klasy #include<iostream> #include<string> using namespace std; class Krowa string Imie; int Wiek; public: ; Krowa() cout<<"imie: \t"; cin>>imie; cout<<"wiek : \t"; cin>>wiek; void ID() cout<<imie<<"\t"<<wiek<<endl; 23

void main() Krowa Obora[4]; for (int i=3; i>-1 ;i--) Obora[i].ID(); system("pause"); Imie: Krasula Wiek : 10 Imie: Laciata Wiek : 5 Imie: Mecka Wiek : 6 Imie: Ruda Wiek : 3 Ruda 3 Mecka 6 Laciata 5 Krasula 10 Press any key to continue... 24

Funkcje zaprzyjaźnione klasy Funkcje niebędące funkcjami składowymi klasy, mające dostęp do wszystkich jej składowych. //Funkcje zaprzyjaźnione klasy #include <iostream> using namespace std; const double pi=3.1415927; class Walec double srednica; double wysokosc; 25

public: ; Walec(double d_walca=1.0, double h_walca=1.0): srednica(d_walca),wysokosc(h_walca) cout<<"konstruktor"<<endl; double Objetosc() return pi*srednica*srednica*wysokosc/4; friend double Pole(Walec walec) //Lista parametrów nie może być pusta return pi*walec.srednica*walec.wysokosc +pi*walec.srednica*walec.srednica/2; 26

void main() Walec walec_1; cout<<"objetosc : "<<walec_1.objetosc()<<endl; cout<<"powierzchnia : "<<Pole(walec_1)<<endl; Walec walec_2(4.0,2.0); cout<<endl; cout<<"objetosc : "<<walec_2.objetosc()<<endl; cout<<"powierzchnia : "<<Pole(walec_2)<<endl; system("pause"); Konstruktor Objetosc : 0.785398 Powierzchnia : 4.71239 Konstruktor Objetosc : 25.1327 Powierzchnia : 50.2655 Press any key to continue... 27

//Funkcje zaprzyjaźnione klasy //Definicja funkcji poza cialem #include <iostream> using namespace std; class Pudelko public: Pudelko(double a=1.0, double b=1.0, double h=1.0) dlugosc=a; szerokosc=b; wysokosc=h; double Objetosc() return dlugosc*szerokosc*wysokosc; 28

friend double Powierzchnia(Pudelko box); ; private: double dlugosc; double szerokosc; double wysokosc; double Powierzchnia(Pudelko box) return 2.0*(box.dlugosc*box.szerokosc+ box.dlugosc*box.wysokosc+ box.szerokosc*box.wysokosc); 29

int main() Pudelko pudlo_1; cout<<endl<<"pojemnosc pudelka = "<<pudlo_1.objetosc()<<endl; cout<<endl<<"powierzchnia pudelka = "<<Powierzchnia(pudlo_1)<<endl; Pudelko pudlo_2(3,4,2); cout<<endl<<"pojemnosc pudelka = "<<pudlo_2.objetosc()<<endl; cout<<endl<<"powierzchnia pudelka = "<<Powierzchnia(pudlo_2)<<endl; system("pause"); return 0; Pojemnosc pudelka = 1 Powierzchnia pudelka = 6 Pojemnosc pudelka = 24 Powierzchnia pudelka = 52 Press any key to continue... 30