Programowanie Obiektowew języku C++ Zadania L4

Podobne dokumenty
Programowanie Obiektowew języku C++ Zadania L4

Programowanie Obiektowew języku C++ Zadania L2

Podstawy programowania w języku C++ Zadania - dziedziczenie i polimorfizm

Programowanie Obiektowew języku C++ Zadania L8

Programowanie Obiektowew języku C++ Zadania L2

Podstawy programowania w języku C++ Zadania

Programowanie Obiektowew języku C++ Zadania L9

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

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

Programowanie Obiektowo Zorientowane w języku c++ Konstruktory

Wyliczanie wyrażenia obiekty tymczasowe

Techniki Programowania wskaźniki

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

Programowanie proceduralne w języku C++ Funkcje

Szablony funkcji i szablony klas

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

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

Wprowadzenie do szablonów szablony funkcji

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

Wprowadzenie do szablonów szablony funkcji

Wprowadzenie do szablonów klas

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

Programowanie proceduralne w języku C++ Podstawy

Pola i metody statyczne

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

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

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

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

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

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

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 Obiektowe i C++

Plik klasy. h deklaracje klas

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 proceduralne w języku C++ Pojęcia podstawowe - kod źródłowy

Podstawy Programowania Obiektowego

Konstruktor kopiujacy

Wprowadzenie do programowania i programowanie obiektowe

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

Techniki Programowania wskaźniki 2

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

Informatyka II Laboratorium 3 : Programowania obiektowe C++ - dziedziczenie

Języki i paradygmaty programowania

Zadania z podstaw programowania obiektowego

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

Podstawy Programowania Obiektowego

PARADYGMATY PROGRAMOWANIA Wykład 4

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

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

Wstęp do Programowania 2

Hermetyzacja oraz pola i metody statyczne

Język C++ wykład VIII

PARADYGMATY PROGRAMOWANIA Wykład 3

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

Programowanie obiektowe w C++ Wykład 12

Wstęp do Programowania 2

Programowanie proceduralne w języku C++ Pętle, tablice

Programowanie w języku C++ Podstawowe paradygmaty programowania

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

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

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

Zaawansowane programowanie w języku C++ Programowanie obiektowe

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

TEMAT : KLASY DZIEDZICZENIE

Operator przypisania. Jest czym innym niż konstruktor kopiujący!

Programowanie w języku C++

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

Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne

4. Funkcje. Przykłady

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

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

Wartości domyślne, przeciażenia funkcji

Programowanie obiektowe. Wykład 5. C++: szablony

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

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

Projektowanie klas c.d. Projektowanie klas przykład

Operacje wejścia/wyjścia odsłona pierwsza

class Student Deklaracja klasy Osoba: Deklaracja klasy Student:

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

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

Rzutowanie i konwersje

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

Mechanizm dziedziczenia

Programowanie obiektowe

Programowanie komputerowe. Zajęcia 4

PARADYGMATY PROGRAMOWANIA Wykład 2

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

Pliki wykład 2. Dorota Pylak

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

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

Szablon klasy std::list

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

Polimorfizm, metody wirtualne i klasy abstrakcyjne

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

Język ludzki kod maszynowy

Programowanie w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Wyjątki (exceptions)

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

Transkrypt:

Programowanie Obiektowew języku C++ Zadania L4 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki Stosowanej i Modelowania 2 Uniwersytet im. Jana Kochanowskiego w Kielcach Wydział Matematyczno-Przyrodnmiczy Instytut Fizyki Zakład Informatyki Listopad 2016 Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 1 / 10

Spis treści 1 Zadanie L4-1 2 Zadanie L4-2 3 Podpowiedzi do zadań L4 Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 2 / 10

Zadanie L4-1 Zdefiniować klasę complex tak, aby program Code wygenerował strumień wyjściowy Output przedstawiony na następnym przeźroczu. Code complex sumcmplint(complex c, int i){ return complex(c.re() + static_cast<double>(i),c.im()); int main(){ complex c(-3., -2.), *pc = &c, cmpl = c; cout << c.modul() << endl; int i = 7; double d = 3.72; cout << sumcmplint(c, i) << endl; cout << sumcmplint(*pc, d) << endl; cout << sumcmplint(cmpl, c) << endl; } Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 3 / 10

Zadanie L4-1 Klasa liczb zespolonych complex powinna zawierać następujące pola prywatne: Pola klasy class complex{ static int lp; const int nrcmpl; double re, im; double *modul; }; Output 5 (4, -2) (0, -2) (-6, -2) Wskaźnik modul powinien pokazywać na obszar pamięci, gdzie zapiany jest moduł liczby, który powinien być zwracany przez funkcję Modul() o dostępie publicznym Pole lp jest licznikiem powstających liczb zespolonych. Pole nrcmpl jest numerem liczby. Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 4 / 10

Spis treści 1 Zadanie L4-1 2 Zadanie L4-2 3 Podpowiedzi do zadań L4 Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 5 / 10

Zadanie L4-2 Rozszerzyć definicję klasy complex tak, aby pole nrcmpl, które jest zwracane przez funkcję NrCmpl() było typu const, a program i strumień były następujące: int main(){ complex c(-3., -2.), *pc = &c, cmpl = c; cout << "Nr obiektu cmpl: " << cmpl.nrcmpl() << endl; char chr = 'D'; bool b = true; cout << sumcmplint(chr, chr) << endl; cout << sumcmplint(b, b) << endl; cout << "Liczba utworzonych obiektow complex: " << complex::lp() << endl; return 0; } Nr obiektu cmpl: 2 (136, 0) (2, 0) Liczba utworzonych obiektow complex: 6 Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 6 / 10

Spis treści 1 Zadanie L4-1 2 Zadanie L4-2 3 Podpowiedzi do zadań L4 Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 7 / 10

Podpowiedzi do zadań L4 Instrukcja: complex c(-3., -2.), *pc = &c, cmpl = c; wymaga zdefiniowania konstruktora kopiującego do utworzenia obiektu cmpl, wskaźnik pc pobiera adres c bez udziału żadnego z konstruktorów. Instrukcja: cout << sumcmplint(c, i) << endl; nie wymaga żadnych konwersji - parametry aktualne c i i dokładnie pasują do formalnych. Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 8 / 10

Podpowiedzi do zadań L4 Instrukcja: cout << sumcmplint(*pc, d) << endl; pierwszy z parametów *pc dokładnie pasuje do formalnego. drugi z parametrów wymaga konwersji z typu double na typ int - konwersje dla typów wbudowanych są jednak predefiniowane. Instrukcja: cout << sumcmplint(cmpl, c) << endl; wymaga konwersji drugiego z parametrów z typu complex na typ int - potrzebny jest operator konwersji w klasie complex pierwszy parametr jest zgodny z formalnym. Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 9 / 10

Podpowiedzi do zadań L4 Instrukcje: cout << sumcmplint(chr, chr) << endl; cout << sumcmplint(b, b) << endl; wymagają utworzenia konstruktorów konwertujących: char complex oraz bool complex konwersje: char int oraz bool int są predefiniowane. Mirosław Głowacki (AGH, UJK) Programowanie Obiektowe 2016 10 / 10