Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Podobne dokumenty
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Konstruktor destruktor Programowanie obiektowe

Wykład 8: klasy cz. 4

Podstawy Programowania Obiektowego

Zaawansowane programowanie w języku C++ Klasy w C++

Wykład 5: Klasy cz. 3

Podstawy Programowania Obiektowego

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

Materiały do zajęć VII

DYNAMICZNE PRZYDZIELANIE PAMIECI

Programowanie obiektowe

Kurs WWW. Paweł Rajba.

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

PARADYGMATY PROGRAMOWANIA Wykład 4

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

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

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

Algorytmy i język C++

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

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Języki i techniki programowania Ćwiczenia 2

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

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Aplikacje w środowisku Java

Argumenty wywołania programu, operacje na plikach

Programowanie obiektowe

Tablice (jedno i wielowymiarowe), łańcuchy znaków

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie obiektowe. Materiały przygotował: mgr inż. Wojciech Frohmberg

Programowanie obiektowe

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

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

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

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

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

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

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

Lab 9 Podstawy Programowania

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Dziedziczenie jednobazowe, poliformizm

Programowanie obiektowe

C++ - [4-7] Polimorfizm

Język C++ Programowanie obiektowe

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

Zadania z podstaw programowania obiektowego

Podstawy i języki programowania

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

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

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

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

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

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

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

Programowanie obiektowe

Podstawy programowania obiektowego

Interfejsy i klasy wewnętrzne

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Wykład 1: Wskaźniki i zmienne dynamiczne

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

Programowanie w języku Java

Języki i metody programowania Java. Wykład 2 (część 2)

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Rozdział 4 KLASY, OBIEKTY, METODY

Wykład 4: Klasy i Metody

Podstawy i języki programowania

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

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

Opus Magnum C++11 : programowanie w języku C++. T. 2 / Jerzy Grębosz. Gliwice, cop Spis treści

Programowanie obiektowe w języku

Programowanie w języku C++

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy KONSTRUKTORY

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

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

Zaawansowane programowanie w języku C++ Programowanie obiektowe

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

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

Programowanie Obiektowo Zorientowane w języku c++ Konstruktory

ZASADY PROGRAMOWANIA KOMPUTERÓW

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

10. Programowanie obiektowe w PHP5

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

Szablony klas, zastosowanie szablonów w programach

Języki programowania imperatywnego

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Mechanizm dziedziczenia

Operatory na rzecz typu TString

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

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

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

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

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

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

Transkrypt:

Programowanie obiektowe Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Operator new, new[] Operator new oraz new[] służy do rezerwacji obszarów z zapasie pamięci New służy do tworzenia pojedynczych obiektów New[] służy do tworzenia tablicy obiektów Operatorami tymi można posługiwać do tworzenia obiektów będących reprezentantami danej klasy Operator ten może zostać przeładowany. Istnieje wersja lokalna zdefiniowana na użytek danej klasy

Operator new Operator new jest składową statyczną. Wywoływany jest na rzecz klasy. Jeżeli w deklaracji zapomnimy static to kompilator zrobi to za nas Operator new() musi zawierać wskaźnik typ void* Pierwszy argument funkcji new[] ma być typu size_t

Operator new Czas życia obiektu: od chwili utworzenia new() do zlikwidowania delete()

Klasa student Wywołanie konstruktora i new() Jeśli w klasie występuje konstruktor wywołanie funkcji new() argumenty tak jak dla konstruktora

Klasa bez konstruktora Jeśli w klasie nie ma konstruktora lub konstruktor jest napisany z wartościami zerowymi wywołanie funkcji new() odbywa się bez parametrów

Likwidacja obiektu Destruktor Destruktorem klasy K jest jej funkcja składowa o nazwie ~K. Funkcja ta wywoływana jest automatycznie gdy obiekt jest likwidowany Klasa nie ma obowiązku posiadania destruktora Destruktor, gdy liczymy obiekty danej klasy zmniejsza licznik o 1 Destruktor nie może zwracać żadnej wartości

Destruktor Jawne wywołanie Jawne wywołanie destruktora nie może zacząć się od ~. Wcześniej musi być obiekt i krobka albo wskaźnik do obiektu -> obiekt.~klasa(); wskaźnik->~klasa(); //wywołanie destruktora

Operator delete delete() Operatory służą do oddawania obszarów pamięci zarezerwowanych operatorami new i new[] Operatorów używamy w stosunku do typów wbudowanych, ale także w stosunku do klas nie mających swojej przeładowanej wersji tych operatorów Jeśli tworzymy ich przeładowaną wersję to powinny to być statycznymi funkcjami składowymi klasy static Delete nazwa obiektu

Odczyt danych z pliku Przykładowy program odczytujący z pliku linie jako zmienne typu string

Odczytanie liczb z pliku

Zadania do wykonania Stwórz roboczą klasę na przykład klasa student z pierwszych zajęć. Czy obiekt utworzony poprzez new() można zlikwidować destruktorem? Czy obiekt utworzony poprzez konstruktor można zlikwidować poprzez delete()? Czy można zlikwidować nieistniejący obiekt delete() i poprzez destruktor? Czy można skopiować jeden obiekt na drugi a=b, gdzie a i b są obiektami klasy np.: student.

Zadania pliki Napisz program zapisujący do pliku dane typu x f(x)=sin(x)/x. Użytkownik programu podaje liczbę punktów do zapisu i przedział na jakim ma zostać stablicowana funkcja. Napisz program, który odczytuje liczby z pliku i wypisuje je na ekran komputera. * Zapisanie odczytanie z pliku odbywa się do pliku o nazwie podanej z klawiatury. Wskazówka, korzystaj z metod klasy if(of)stream

Zadanie domowe Do programu wielomian z poprzednich zadań dołóż możliwość odczytania parametrów wielomianu z pliku. Nazwa pliku do odczytu danych powinna być podawana przez użytkownika. Jak również użytkownik programu powinien zdecydować czy współczynniki wielomianu będą podawane z klawiatury czy z pliku