Programowanie (obiektowe) cz.12

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

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

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

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

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

Laboratorium 1 - Programowanie proceduralne i obiektowe

dr inż. Jarosław Forenc

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

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

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

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

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

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

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

Projektowanie klas c.d. Projektowanie klas przykład

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM

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

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

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Programowanie Obiektowew języku C++ Zadania L4

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

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

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

Programowanie obiektowe język C++

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

Programowanie obiektowe i C++ dla matematyków

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

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

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.

Programowanie komputerowe. Zajęcia 1

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

Operacje wejścia/wyjścia (odsłona druga) - pliki

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

Programowanie - wykład 4

Podstawy programowania obiektowego

Programowanie obiektowe i zdarzeniowe

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

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

PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.

Przypomnienie o klasach i obiektach

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

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

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

Programowanie obiektowe

Wyjątki (exceptions)

Do czego służą klasy?

Programowanie i struktury danych

C-struktury wykład. Dorota Pylak

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

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

Wstęp do Programowania 2

POLITECHNIKA POZNAŃSKA. Programowanie systemów informatycznych LAB 30h

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

PARADYGMATY PROGRAMOWANIA Wykład 2

Programowanie obiektowe i C++ dla matematyków

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

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Operatory na rzecz typu TString

Informacja o programowaniu w c++ Dr Maciej Bobrowski

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

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

Wstęp do programowania

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

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

TEMAT : KLASY POLIMORFIZM

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

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

Wstęp do Programowania 2

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

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

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 12. Katarzyna Grzelak. 20 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

1 Definiowanie prostych klas

Mechanizm dziedziczenia

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Konstruktor destruktor Programowanie obiektowe

Podstawy Programowania Obiektowego

Podstawy języka skryptowego Lua

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

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

C-struktury wykład. Dorota Pylak

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

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

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

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

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

Zajęcia nr 4 Programowanie obiektowe konstruktory. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

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

Podstawy programowania skrót z wykładów:

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

Przesłanianie nazw, przestrzenie nazw

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

Automatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) {

Obsługa wyjątków. Język C++ WW12

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

Praca semestralna CENTRUM EDUKACJI AKADEMIA SUKCESU

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

Transkrypt:

Programowanie (obiektowe) cz.12 Pliki nagłówkowe. Konstruktor

ZMIENIAMY ZASADY GRY Tworzymy dwa pliki, z których jeden będzie zawierał kod, a drugi definicje klas i funkcji składowych naglowek.h main.cpp

PLIK NAGŁÓWKOWY Plik nagłówkowy - plik zawierający definicje klas, funkcji innych elementów programu, które zazwyczaj umieszczaliśmy wcześniej na początku programu. Rozszerzenie - to zazwyczaj h - w odróżnieniu od nazwy pliku głównego, który ma rozszerzenie cpp na następnej stronie kod pliku nagłówkowego:

#include <iostream> #include <string.h> using namespace std; class samochod private: char markasamochodu[20]; char lakierkolor[20]; char rodzajlakieru[20]; char rodzajsilnika[20]; int predmax; public: int ilewbaku; int stanlicznika; void ustawparametry(char *marka, char *kolor, char *lakier, char *silnik, int predkosc); void opispojazdu(); };//koniec definiowania klasy void samochod::ustawparametry(char *marka, char *kolor, char *lakier, char *silnik, int predkosc) strcpy(markasamochodu, marka); strcpy(lakierkolor, kolor); strcpy(rodzajlakieru, lakier); strcpy(rodzajsilnika, silnik); predmax=predkosc; }; void samochod::opispojazdu() cout<<"\n\nparametry FABRYCZNE\n"; cout<<"\nmarka smochodu: "<<markasamochodu; cout<<"\nkolor lakieru: "<<lakierkolor; cout<<"\nrodzaj lakieru: "<<rodzajlakieru; cout<<"\nrodzaj silnika: "<<rodzajsilnika; cout<<"\npredkosc maksymalna: "<<predmax; cout<<"\n\nparametry INDYWIDUALNE\n"; cout<<"\nbenzyny w baku: "<<ilewbaku; cout<<"\nstan licznika: "<<stanlicznika; cout<<endl; }

A TERAZ PLIK GŁÓWNY PROGRAMU #include <iostream> #include "naglowek.h" using namespace std; int main () } /*Przystepujemy do tworzenia samochodu dla Pawla*/ // najpierw tworzymy obiekt o nazwie pawel,ktory jest typu samochod samochod pawel; //ustawiamy parametry fabryczne pawel.ustawparametry("fiat", "niebieski", "metalik", "diesel", 250); /*koniec tworzenia samochodu*/ pawel.ilewbaku=30; //ustawiamy ile w baku benzyny pawel.stanlicznika=20000;//ustawiamy stan licznika, bo idziemy sprzedac do komisu pawel.opispojazdu(); //wyswielamy opis pajazdu

KONSTRUKTOR Jeżeli chcemy utworzyć nowy obiekt znanej nam klasy int oraz przypisać mu wartość np. 50 to robimy to tak: int a; a=50; ---------------------------------------------------------- lub 2 sposób piszemy za jednym zamachem: int a=50;

A JAK TWORZYMY NASZE OBIEKTY? samochod pawel; pawel.ustawparametry("fiat", "niebieski", "metalik", "diesel", 250); ---------------------------------------------------------- ale nie możemy napisać w jednej linii: samochod pawel=samochod("fiat", "niebieski", "metalik", "diesel", 250);

#include <iostream> #include <string.h> using namespace std; class samochod private: char markasamochodu[20]; char lakierkolor[20]; char rodzajlakieru[20]; char rodzajsilnika[20]; int predmax; public: int ilewbaku; int stanlicznika; void ustawparametry(char *marka, char *kolor, char *lakier, char *silnik, int predkosc); void opispojazdu(); };//koniec definiowania klasy void samochod::ustawparametry(char *marka, char *kolor, char *lakier, char *silnik, int predkosc) strcpy(markasamochodu, marka); strcpy(lakierkolor, kolor); strcpy(rodzajlakieru, lakier); strcpy(rodzajsilnika, silnik); predmax=predkosc; }; void samochod::opispojazdu() cout<<"\n\nparametry FABRYCZNE\n"; cout<<"\nmarka smochodu: "<<markasamochodu; cout<<"\nkolor lakieru: "<<lakierkolor; cout<<"\nrodzaj lakieru: "<<rodzajlakieru; cout<<"\nrodzaj silnika: "<<rodzajsilnika; cout<<"\npredkosc maksymalna: "<<predmax; cout<<"\n\nparametry INDYWIDUALNE\n"; cout<<"\nbenzyny w baku: "<<ilewbaku; cout<<"\nstan licznika: "<<stanlicznika; cout<<endl; }

#include <iostream> #include <string.h> using namespace std; class samochod private: char markasamochodu[20]; char lakierkolor[20]; char rodzajlakieru[20]; char rodzajsilnika[20]; int predmax; public: int ilewbaku; int stanlicznika; samochod(char void ustawparametry(char *marka, char *marka, *kolor, char char *kolor, *lakier, char char *lakier, *silnik, char int *silnik, predkosc); int predkosc); void opispojazdu(); };//koniec definiowania klasy void samochod::ustawparametry(char *marka, char *kolor, char *lakier, char *silnik, int predkosc) strcpy(markasamochodu, marka); strcpy(lakierkolor, kolor); strcpy(rodzajlakieru, lakier); strcpy(rodzajsilnika, silnik); predmax=predkosc; }; void samochod::opispojazdu() cout<<"\n\nparametry FABRYCZNE\n"; cout<<"\nmarka smochodu: "<<markasamochodu; cout<<"\nkolor lakieru: "<<lakierkolor; cout<<"\nrodzaj lakieru: "<<rodzajlakieru; cout<<"\nrodzaj silnika: "<<rodzajsilnika; cout<<"\npredkosc maksymalna: "<<predmax; cout<<"\n\nparametry INDYWIDUALNE\n"; cout<<"\nbenzyny w baku: "<<ilewbaku; cout<<"\nstan licznika: "<<stanlicznika; cout<<endl; }

#include <iostream> #include <string.h> using namespace std; class samochod private: char markasamochodu[20]; char lakierkolor[20]; char rodzajlakieru[20]; char rodzajsilnika[20]; int predmax; public: int ilewbaku; int stanlicznika; samochod(char void ustawparametry(char *marka, char *marka, *kolor, char char *kolor, *lakier, char char *lakier, *silnik, char int *silnik, predkosc); int predkosc); void opispojazdu(); };//koniec definiowania klasy void samochod::samochod(char samochod::ustawparametry(char *marka, char *marka, *kolor, char char *kolor, *lakier, char char *lakier, *silnik, char int *silnik, predkosc) int predkosc) strcpy(markasamochodu, marka); strcpy(lakierkolor, kolor); strcpy(rodzajlakieru, lakier); strcpy(rodzajsilnika, silnik); predmax=predkosc; }; void samochod::opispojazdu() cout<<"\n\nparametry FABRYCZNE\n"; cout<<"\nmarka smochodu: "<<markasamochodu; cout<<"\nkolor lakieru: "<<lakierkolor; cout<<"\nrodzaj lakieru: "<<rodzajlakieru; cout<<"\nrodzaj silnika: "<<rodzajsilnika; cout<<"\npredkosc maksymalna: "<<predmax; cout<<"\n\nparametry INDYWIDUALNE\n"; cout<<"\nbenzyny w baku: "<<ilewbaku; cout<<"\nstan licznika: "<<stanlicznika; cout<<endl; }

DZIAŁANIE KONSTRUKTORA #include <iostream> #include "naglowek.h" using namespace std; int main () //Od razu tworzymy obiekt i ustawiamy parametry fabryczne samochod pawel=samochod("fiat", "niebieski", "metalik", "diesel", 250); /*koniec tworzenia samochodu*/ pawel.ilewbaku=30; //ustawiamy ile w baku benzyny pawel.stanlicznika=20000;//ustawiamy stan licznika, bo idziemy sprzedac do komisu pawel.opispojazdu(); //wyswielamy opis pajazdu }