Ssak::Ssak(Ssak& ref):waga(ref.ile_wazy()) {cout << "Konstruktor kopiujacy klasy Ssak...\n";} 1
|
|
- Natalia Urban
- 8 lat temu
- Przeglądów:
Transkrypt
1 /* Wirtualny konstruktor kopiujący*/ #include<iostream> using namespace std; class Ssak public: Ssak(int w):waga(w) cout<<"konstruktor klasy Ssak...\n"; } Ssak (Ssak& ref); virtual void Glos()cout<<"Glos ssaka\n";} virtual Ssak* Klonuj() return new Ssak(*this);} int Ile_wazy() return this->waga;} protected: int waga; }; Ssak::Ssak(Ssak& ref):waga(ref.ile_wazy()) cout << "Konstruktor kopiujacy klasy Ssak...\n";} 1
2 class Pies : public Ssak public: Pies():Ssak(10) cout<<"konstruktor klasy Pies...\n";} Pies(Pies & ref); virtual Ssak* Klonuj() return new Pies(*this);} void Glos()cout<<"Hau\n";} }; Pies::Pies(Pies& ref):ssak(ref) cout<<"konstruktor kopiujacy klasy Pies...\n";} class Kot : public Ssak public: Kot():Ssak(2) cout<<"konstruktor klasy Kot...\n";} Kot (Kot& ref); virtual Ssak* Klonuj() return new Kot(*this);} void Glos()cout<<"Miau\n";} }; 2
3 Kot::Kot(Kot& ref):ssak(ref) cout<<"konstruktor kopiujacy klasy Kot...\n";} enum ZWIERZAKI SSAK, KOT, PIES}; void main() Ssak *tablica [3]; Ssak* ptr; int wybor; for (int i = 0; i < 3; i++) cout<<"(1)pies (2)kot (3)ssak : "; cin>>wybor; switch (wybor) case PIES: ptr = new Pies; break; case KOT: ptr = new Kot; break; default: ptr = new Ssak(1); break; } 3
4 } tablica[i]=ptr; Ssak *tablica1[3]; for (int i = 0; i < 3 ; i++) tablica[i]->glos(); tablica1[i]=tablica[i]->klonuj(); } } cout<<"po sklonowaniu :\n\n"; for (int i = 0; i < 3; i++) cout<<"tablica1["<<i<<"]\n"; tablica1[i]->glos(); cout<<"waga : "<<tablica1[i]->ile_wazy()<<endl; } system("pause"); 4
5 (1)pies (2)kot (3)ssak : 1 Konstruktor klasy Ssak... Konstruktor klasy Kot... (1)pies (2)kot (3)ssak : 2 Konstruktor klasy Ssak... Konstruktor klasy Pies... (1)pies (2)kot (3)ssak : 3 Konstruktor klasy Ssak... Miau Konstruktor kopiujacy klasy Ssak... Konstruktor kopiujacy klasy Kot... Hau Konstruktor kopiujacy klasy Ssak... Konstruktor kopiujacy klasy Pies... Glos ssaka Konstruktor kopiujacy klasy Ssak... 5
6 Po sklonowaniu : tablica1[0] Miau Waga : 2 tablica1[1] Hau Waga : 10 tablica1[2] Glos ssaka Waga : 1 Press any key to continue... 6
7 // Użycie static_cast i dynamic_cast #include <iostream> using namespace std; class Zwierze public: virtual void Glos() = 0; }; class Pies : public Zwierze public: void Aktywnosc()cout<<"Pies : Macham ogonem!!"<<endl;} void Glos()cout<<"Pies : Hau hau!!"<<endl;} }; 7
8 class Kot : public Zwierze public: void Aktywnosc()cout<<"Kot : Zlapalem mysz!!"<<endl;} void Glos()cout<<"Kot : Miau miau!!"<<endl;} }; void ID(Zwierze* pzwierze); void main() Zwierze* pzwierze1 = new Pies; Zwierze* pzwierze2 = new Kot; } ID(pZwierze1); pzwierze1->glos(); //pzwierze1->aktywnosc(); ID(pZwierze2); pzwierze2->glos(); //pzwierze2->aktywnosc(); system("pause"); 8
9 void ID(Zwierze* pzwierze) Pies* ppies = static_cast<pies*>(pzwierze); if(ppies) cout<<"zwierze to pies"<<endl; ppies->glos(); ppies->aktywnosc(); } Kot* pkot = dynamic_cast<kot*>(pzwierze); if(pkot) cout<<"zwierze to kot"<<endl; pkot->glos(); pkot->aktywnosc(); } } 9
10 Zwierze to pies Pies : Hau hau!! Pies : Macham ogonem!! Pies : Hau hau!! Zwierze to pies Kot : Miau miau!! Pies : Macham ogonem!! Zwierze to kot Kot : Miau miau!! Kot : Zlapalem mysz!! Kot : Miau miau!! Press any key to continue... 10
11 // Użycie reinterpret_cast static_cast dynamic_cast #include <iostream> using namespace std; class Zwierze public: virtual void Aktywnosc() = 0; }; class Pies : public Zwierze public: void Aktywnosc()cout<<"Pies : Macham ogonem!!"<<endl;} }; class Kot : public Zwierze public: void Aktywnosc()cout<<"Kot : Zlapalem mysz!!"<<endl;} }; 11
12 void main() Zwierze* Podworko[8]; Podworko[0] = new Pies; Podworko[1] = new Kot; cout<<"elementy pierwotne :\n"; Podworko[0]->Aktywnosc(); Podworko[1]->Aktywnosc(); Podworko[2]=reinterpret_cast<Pies*>(Podworko[1]); Podworko[3]=reinterpret_cast<Kot*>(Podworko[0]); cout<<"reinterpret_cast :\nbylem kotem\n"; Podworko[2]->Aktywnosc(); cout<<"bylem psem\n"; Podworko[3]->Aktywnosc(); Podworko[4]=static_cast<Pies*>(Podworko[1]); Podworko[5]=static_cast<Kot*>(Podworko[0]); cout<<"static_cast :\nbylem kotem\n"; Podworko[4]->Aktywnosc(); cout<<"bylem psem\n"; Podworko[5]->Aktywnosc(); 12
13 /*Podworko[6]=dynamic_cast<Pies*>(Podworko[1]); Podworko[7]=dynamic_cast<Kot*>(Podworko[0]); cout<<"dynamic_cast :\nbylem kotem\n"; Podworko[6]->Aktywnosc(); cout<<"bylem psem\n"; Podworko[7]->Aktywnosc(); program się kompiluje, ale pada przy wykonaniu*/ } system("pause"); 13
14 Elementy pierwotne : Pies : Macham ogonem!! Kot : Zlapalem mysz!! reinterpret_cast : Bylem kotem Kot : Zlapalem mysz!! Bylem psem Pies : Macham ogonem!! static_cast : Bylem kotem Kot : Zlapalem mysz!! Bylem psem Pies : Macham ogonem!! Press any key to continue... 14
15 // Użycie reinterpret_cast static_cast i dynamic_cast #include <iostream> using namespace std; class Pies public: void Aktywnosc()cout<<"Pies : Macham ogonem!!"<<endl;} }; class Kot public: void Aktywnosc()cout<<"Kot : Zlapalem mysz!!"<<endl;} }; void main() Pies* psy[4]; Kot* koty[4]; 15
16 psy[0] = new Pies; koty[0] = new Kot; cout<<"elementy pierwotne :\n"; psy[0]->aktywnosc(); koty[0]->aktywnosc(); psy[1]=reinterpret_cast<pies*>(koty[0]); koty[1]=reinterpret_cast<kot*>(psy[0]); cout<<"reinterpret_cast :\nbylem kotem\n"; psy[1]->aktywnosc(); cout<<"bylem psem\n"; koty[1]->aktywnosc(); /*psy[2]=static_cast<pies*>(koty[0]); koty[2]=static_cast<kot*>(psy[0]); cout<<"static_cast :\nbylem kotem\n"; psy[2]->aktywnosc(); cout<<"bylem psem\n"; koty[2]->aktywnosc(); psy[3]=dynamic_cast<pies*>(koty[0]); koty[3]=dynamic_cast<kot*>(psy[0]); cout<<"dynamic_cast :\nbylem kotem\n"; psy[3]->aktywnosc(); cout<<"bylem psem\n"; 16
17 koty[3]->aktywnosc(); Pies Azor=reinterpret_cast<Pies>(*koty[0]);*/ Pies& Reks=reinterpret_cast<Pies&>(*koty[0]); cout<<"reinterpret_cast referencja do obiektu :\nbylem kotem\n"; Reks.Aktywnosc(); } system("pause"); Elementy pierwotne : Pies : Macham ogonem!! Kot : Zlapalem mysz!! reinterpret_cast : Bylem kotem Pies : Macham ogonem!! Bylem psem Kot : Zlapalem mysz!! reinterpret_cast referencja do obiektu : Bylem kotem Pies : Macham ogonem!! Press any key to continue... 17
18 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_10_09\w_10_09\w_10_09.cpp(33) : error C2440: 'static_cast' : cannot convert from 'Kot *' to 'Pies *' 1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_10_09\w_10_09\w_10_09.cpp(34) : error C2440: 'static_cast' : cannot convert from 'Pies *' to 'Kot *' 1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_10_09\w_10_09\w_10_09.cpp(39) : error C2683: 'dynamic_cast' : 'Kot' is not a polymorphic type 1> e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_10_09\w_10_09\w_10_09.cpp(13) : see declaration of 'Kot' 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_10_09\w_10_09\w_10_09.cpp(40) : error C2683: 'dynamic_cast' : 'Pies' is not a polymorphic type 1> e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_10_09\w_10_09\w_10_09.cpp(7) : see declaration of 'Pies' 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_10_09\w_10_09\w_10_09.cpp(46) : error C2440: 'reinterpret_cast' : cannot convert from 'Kot' to 'Pies' 1> Conversion requires a constructor or user-defined-conversion operator, which can't be used by const_cast or reinterpret_cast 1>Build log was saved at "file://e:\praca\dydaktyka\programowanie obiektowe\visual Project\Wykład 2016\W_10_09\W_10_09\Debug\BuildLog.htm" 1>W_10_09-5 error(s), 0 warning(s) 18
19 Standardowa biblioteka wzorców (STL) Zestaw klas i funkcji wzorcowych dostarczających: 1. Kontenerów do przechowywania informacji 2. Iteratorów służących do uzyskiwania dostępu do przechowywanych informacji 3. Algorytmów pozwalających na manipulowanie treścią znajdującą się w kontenerach Kontenery STL: - sekwencyjne (przechowują dane sekwencyjnie podobnie jak tablice czy listy krótki czas wstawiania, długi wyszukiwania) - asocjacyjne (dane w postaci posortowanej dłuższy czas wstawiania, krótszy wyszukiwania) 19
20 Kontenery sekwencyjne std::vector std::deque Szybkie wstawianie elementu na końcu, dostęp podobny do tablicy Jak vector, możliwość wstawiania elementów na początku Zmiana wielkości może skutkować spadkiem wydajności, czas wyszukiwania proporcjonalny do liczby elementów Nie wymaga funkcji reserve () rezerwacja pamięci std::list Stały czas wstawiania na końcu i w środku listy, czas usuwania niezależny od położenia elementu Brak swobodnego dostępu do do elementów na podstawie ich indeksu 20
21 Kontenery asocjacyjne: std::set, std::multiset, std::map, std::multimap (pary kluczwartość) std::find Podstawowe algorytmy STL: std::find_if wyszukanie wartości std::reverse odwrócenie kolejności std::remove_if usunięcie std::transform - przekształcenie 21
22 Klasa STL string Służy do pracy z ciągami tekstowymi. Ułatwia: Kopiowanie Łączenie ciągów Wyszukiwanie znaków i podciągów tekstowych Skracanie Odwracanie zawartości ciągu tekstowego 22
23 // Ustanawianie i kopiowanie obiektów klasy string #include<string> #include<iostream> using namespace std; int main() const string lancuch_1("abcdefghijklmnop"); char* lancuch_2 ="ABCDEFGHIJKLMNOP" ; //string lancuch_3=const_cast<string>(lancuch_1); string lancuch_3=lancuch_2; lancuch_3+="qrst"; cout<<"lancuch_3 : "<<lancuch_3<<endl; string kopia_1 (lancuch_1); string kopia_2 (lancuch_2); cout<<"kopia 1 : "<<kopia_1<<endl; cout<<"kopia 2 : "<<kopia_2<<endl; string kopia_3(lancuch_3,6); cout <<"kopia 3 : " << kopia_3 <<endl; string kopia_3_1(lancuch_1,0,6); cout <<"kopia 3_1 : " << kopia_3 <<endl; 23
24 string kopia_4(lancuch_1,4,6); cout <<"kopia 4 : " << kopia_4 <<endl; string kopia_5(lancuch_2,6); cout <<"kopia 5 : " << kopia_5 <<endl; string kopia_6(lancuch_1,4,6); cout <<"kopia 6 : " << kopia_6 <<endl; } //Inicjalizacja obiektu z 4 znakami X string lancuch_4(4, 'X'); cout <<"lancuch_4 :" << lancuch_4 <<endl; system("pause"); 24
25 lancuch_3 : ABCDEFGHIJKLMNOPQRST kopia 1 : ABCDEFGHIJKLMNOP kopia 2 : ABCDEFGHIJKLMNOP kopia 3 : GHIJKLMNOPQRST kopia 3_1 : GHIJKLMNOPQRST kopia 4 : EFGHIJ kopia 5 : ABCDEF kopia 6 : EFGHIJ lancuch_4 :XXXX Press any key to continue... 25
26 // Dostęp do elementów składowych obiektu STL string #include<string> #include<iostream> using namespace std; void main() string lancuch_1("abcdefghijkl"); cout <<"Wyswietlenie zawartosci za pomoca tablicy :" <<endl; for (int k = 0; k < lancuch_1.length(); ++ k) cout <<"Znak [" << k <<"] to: "; cout << lancuch_1[k] <<endl; } cout <<endl; 26
27 //Dostęp do ciągu za pomocą iteratorów cout <<"Wyswietlenie znakow za pomoca iteratorow :" <<endl; int i = 0; string::iterator iter; for (iter = lancuch_1.begin() ; iter!= lancuch_1.end(); ++ iter) cout <<"Znak [" << i ++ <<"] to: "; cout << *iter <<endl; } cout <<endl; // Dostęp do zawartości jak do ciągu w stylu C } cout << "Reprezentacja char* ciagu to : "; cout << lancuch_1.c_str() <<endl; system("pause"); 27
28 Wyswietlenie zawartosci za pomoca tablicy : Znak [0] to: a Znak [1] to: b Znak [2] to: c Znak [3] to: d Znak [4] to: e Znak [5] to: f Znak [6] to: g Znak [7] to: h Znak [8] to: i Znak [9] to: j Znak [10] to: k Znak [11] to: l Wyswietlenie znakow za pomoca iteratorow : Znak [0] to: a Znak [1] to: b Znak [2] to: c Znak [3] to: d Znak [4] to: e Znak [5] to: f Znak [6] to: g Znak [7] to: h Znak [8] to: i Znak [9] to: j Znak [10] to: k Znak [11] to: l Reprezentacja char* ciagu to : abcdefghijkl Press any key to continue... 28
29 // Łączenie ciągów tekstowych #include<string> #include<iostream> using namespace std; void main() string przyklad_1 ("Przyklad 1"); string przyklad_2 (" i drugi."); //Łączenie przyklad_1 += przyklad_2; cout << przyklad_1 << endl; } string przyklad_3 (" Mozna dodac trzeci!"); przyklad_1.append (przyklad_3); cout << przyklad_1 << endl; char* wskaznik = " Wskaznik tez mozna dodac!"; przyklad_1.append(wskaznik); cout << przyklad_1 << endl; system("pause"); 29
30 Przyklad 1 i drugi. Przyklad 1 i drugi. Mozna dodac trzeci! Przyklad 1 i drugi. Mozna dodac trzeci! Wskaznik tez mozna dodac! Press any key to continue... 30
31 // Iterator #include<iostream> #include<string> using namespace std; void main() int k; string lancuch="abcdefghijklmnopqrstuvwxyz"; string::iterator iter=lancuch.begin(); cout<<"poczatek lancucha to : "<<*iter; cout<<"\njedziemy w prawo o "; cin>>k; iter+=k; cout<<"pozycji i jestesmy w "<<*iter<<endl; iter=lancuch.end()-1; cout<<"koniec lancucha to : "<<*iter; cout<<"\njedziemy w lewo o "; cin>>k; iter-=k; cout<<"pozycji i jestesmy w "<<*iter<<endl; system("pause"); } 31
32 Poczatek lancucha to : A Jedziemy w prawo o 10 pozycji i jestesmy w K Koniec lancucha to : Z Jedziemy w lewo o 12 pozycji i jestesmy w N Press any key to continue... 32
33 // Użycie std::find #include<string> #include<iostream> using namespace std; void main() string lancuch ("abcd efgh ijkl mnop rst abcdefgh "); cout << "Przykladowy ciag tekstowy to:" << endl; cout << lancuch <<endl << endl; size_t pozycja = lancuch.find ("efgh",0); if (pozycja!= string::npos) //npos przyjmuje wartosc -1 cout <<"Pierwsze wystapienie 'efgh' nastapilo w pozycji " << pozycja; else cout <<"Nie znaleziono slowa 'efgh'"; cout << endl <<endl; 33
34 } // Lokalizacja wszystkich wystapien size_t pozycja_1 = lancuch.find("abcd", 0); while (pozycja_1!= string::npos) cout <<"Slowo abcd znaleziono w polozeniu " << pozycja_1<<endl; //Funkcja find wyszukuje dalej size_t pozycja_2 = pozycja_1 +1; pozycja_1 = lancuch.find("abcd", pozycja_2); } cout <<endl; system("pause"); Przykladowy ciag tekstowy to: abcd efgh ijkl mnop rst abcdefgh Pierwsze wystapienie 'efgh' nastapilo w pozycji 5 Slowo abcd znaleziono w polozeniu 0 Slowo abcd znaleziono w polozeniu 24 Press any key to continue... 34
35 // Dzialania na zawartosci ciągu tekstowego #include<string> #include<algorithm> #include<iostream> using namespace std; void main() string lancuch ("abcdefghijklmnoqprstuvwxyzabceefghijklmnopqrstuvwxyz " ); cout << "Poczatkowa wartosc ciagu to: " <<endl; cout << lancuch <<endl<<endl; //Odwracanie ciagu tekstowego string lancuch_1(lancuch); reverse(lancuch.begin(),lancuch.end()); cout<<"ciag odwrocony :"<<endl; cout << lancuch <<endl<<endl; //Usuniecie 10 znaków od 15 cout << "10 znakow od 15 zostalo usunietych" <<endl; lancuch_1.erase(14,10); cout <<lancuch_1<<endl<<endl; 35
36 // Usuniecie P cout <<"Usuniecie P"<<endl<<endl; string::iterator iter = find(lancuch.begin(),lancuch.end(),'p'); if(iter!= lancuch.end()) lancuch.erase(iter); cout <<lancuch <<endl<<endl; //Usuniecie znakow za pomoca przeciazonej wersji erase() cout<<"usuniecie zakresu znakow od begin do end"<<endl<<endl; lancuch.erase(lancuch.begin(),lancuch.end()); if (lancuch.length() ==0) cout<<"ciag tekstowy jest pusty"<<endl; // Konwersja wiekości znaków transform(lancuch_1.begin(),lancuch_1.end(),lancuch_1.begin(), toupper); cout << "Ciag w ktorym znaki skonwertowano na duze: " <<endl; cout << lancuch_1 <<endl<<endl; transform(lancuch_1.begin(),lancuch_1.end(),lancuch_1.begin(), tolower); 36
37 cout << "Ciag w ktorym znaki skonwertowano na male: " <<endl; cout << lancuch_1 <<lancuch_1<<endl; system("pause"); } 37
38 Poczatkowa wartosc ciagu to: abcdefghijklmnoqprstuvwxyzabceefghijklmnopqrstuvwxyz Ciag odwrocony : ZYXWVUTSRQPONMLKJIHGFEECBAzyxwvutsrpqonmlkjihgfedcba 10 znakow od 15 zostalo usunietych abcdefghijklmnyzabceefghijklmnopqrstuvwxyz Usuniecie P ZYXWVUTSRQONMLKJIHGFEECBAzyxwvutsrpqonmlkjihgfedcba Usuniecie zakresu znakow od begin do end Ciag tekstowy jest pusty Ciag w ktorym znaki skonwertowano na duze: ABCDEFGHIJKLMNYZABCEEFGHIJKLMNOPQRSTUVWXYZ Ciag w ktorym znaki skonwertowano na male: abcdefghijklmnyzabceefghijklmnopqrstuvwxyz abcdefghij klmnyzabceefghijkl mnopqrstuvwxyz Press any key to continue... 38
Ssak::Ssak(Ssak& ref):waga(ref.ile_wazy()) {cout << "Konstruktor kopiujacy klasy Ssak...\n";} 1
/* Wirtualny konstruktor kopiujący*/ #include using namespace std; class Ssak public: Ssak(int w):waga(w) cout
Owad():waga(1),jadowitosc(false) {cout<<"konstruktor domyslny owada\n";}
// Wskaźniki #include using namespace std; class Owad int waga; bool jadowitosc; Owad():waga(1),jadowitosc(false) cout
Dziedziczenie ze wspólnej klasy bazowej. Amfibia
Dziedziczenie ze wspólnej klasy bazowej Pojazd Pojazd Samochód Statek Amfibia 1 /*Dziedziczenie wielokrotne z wspólnej klasy bazowej*/ #include using namespace std; char* naped_ziemia[]="benzyna",
STL: Lekcja 1&2. Filozofia STL
STL: Lekcja 1&2 Tematy: Filozofia STL Po co nam STL? Podstawowa zawartość STL Co warto znać zanim zaczniemy pracę z STL?: wskaźniki Praca na tekstach: klasa String Vector: nowy wymiar standardowych tablic.
Programowanie i struktury danych
Programowanie i struktury danych 1 / 30 STL Standard Template Library, STL (ang. = Standardowa Biblioteka Wzorców) biblioteka C++ zawierająca szablony (wzorce), które umożliwiają wielokrotne użycie. Główne
class Samochod { void Ruch(); }; class Amfibia : public Samochod { void Ruch(); // amfibie pływają };
class Samochod void Ruch(); ; class Amfibia : public Samochod void Ruch(); // amfibie pływają ; 1 Rzutowanie w C++ Mechanizm pozwalający na tymczasową lub stałą zmianę interpretacji obiektu przez kompilator
string Rodzaj[4]= {"TV ", "wieza ", "DVD ", "kino "}; string Producent[4]={"Phillips", "Sony ", "Sanyo ", "Samsung "};
// Referencja #include #include using namespace std; string Rodzaj[4]= "TV ", "wieza ", "DVD ", "kino "; string Producent[4]="Phillips", "Sony ", "Sanyo ", "Samsung "; class Sprzet_AV
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.
- - uzupełnienie notatek: dr Jerzy Białkowski - - 1-2 - - - 1 #include 2 #include 3 # include 4 using namespace std ; 5 6 class Punkt { 7 8 private : 9 double
3-4. 5-7. 8-10. 11-12 15-18. 19-22
1. 2. 3-4. 5-7. 8-10. 11-12 13-14. 15-18. 19-22 23-28. 29-30. Programowanie strukturalne i obiektowe Typ wyliczeniowy, lista wyliczeniowa. Rzutowanie w C++. Wskaźniki i referencje. Działania na wskaźnikach.
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Plik klasy. h deklaracje klas
Plik klasy. h deklaracje klas KLASY DLA PRZYKŁADÓW Z POLIMORFIZMEM enum dim r1 = 1, r2, r3; class figura public: static int const maxliczbafigur; = 100; static int liczbafigur; dim rn; rodzaj przestrzeni
Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do pracowni specjalistycznej z przedmiotu Obiektowe programowanie aplikacji Kod przedmiotu: TS1C410201
Przeciążenie funkcji w C++ Mechanizm pozwalający na użycie tej samej funkcji do zdefiniowania kilku funkcji o takich samych listach parametrów.
Przeciążenie funkcji w C++ Mechanizm pozwalający na użycie tej samej funkcji do zdefiniowania kilku funkcji o takich samych listach parametrów. Przykład: dodawanie elementów danych 4 funkcje do różnych
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Język C++ wykład VIII
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
Programowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43
Programowanie w C++ Wykład 6 Katarzyna Grzelak 1 kwietnia 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Szablon klasy std::vector
Szablon klasy std::vector Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory
Programowanie w C++ Wykład 7. Katarzyna Grzelak. 23 kwietnia K.Grzelak (Wykład 7) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 7 Katarzyna Grzelak 23 kwietnia 2018 K.Grzelak (Wykład 7) Programowanie w C++ 1 / 40 Standard Template Library (STL) K.Grzelak (Wykład 7) Programowanie w C++ 2 / 40 C++ Templates
Kontenery i iteratory. Wykorzystanie kontenerów w praktyce.
Instrukcja laboratoryjna nr 2 Programowanie w języku C 2 (C++ poziom zaawansowany) Kontenery i iteratory. Wykorzystanie kontenerów w praktyce. dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż.
Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr 9 (20.01.2012) dr inż. Jarosław Forenc Rok
2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy
2.4 Dziedziczenie Poprzednie dwa rozdziały które dotyczyły zagadnienia automatów komórkowych na przykładach programów w C++. Mogłyby one sugerować że niekoniecznie trzeba programować obiektowo aby napisać
Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)
Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.) Kontenery - - wektor vector - - lista list - - kolejka queue - - stos stack Kontener asocjacyjny map 2016-01-08 Bazy danych-1 W5 1 Kontenery W programowaniu
Zaawansowane programowanie w języku C++ Biblioteka standardowa
Zaawansowane programowanie w języku C++ Biblioteka standardowa Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
ATD. Wykład 8. Programowanie (język C++) abstrakcyjny typ danych. Abstrakcyjne typy danych (ATD) Metody czysto wirtualne. Definicje i uwagi:
Programowanie (język C++) Wykład 8. ATD abstrakcyjny typ danych Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Metody czysto wirtualne Metody czysto wirtualne otrzymujemy inicjalizując
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 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Identyfikacje typu na etapie. wykonania (RTTI)
Identyfikacje typu na etapie (Run Time Type Identification) wykonania (RTTI) Może powstać taka sytuacje, gdy w trakcie kompilacji typ obiektu nie jest znany. C++ implementuje polimorfizm poprzez hierarchie
Biblioteka obiektowa C++ klasa string - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
programowanie w C++ dla OWK Biblioteka obiektowa C++ klasa string - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1 Streszczenie W tym rozdziale podamy kilka najprostszych
Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński
Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński Rzutowanie Implicit/explicit cast Reinterpret cast Static cast Z wykorzystaniem Run-time Type Information Obsługa wyjątków Czym jest wyjątek
Kurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
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 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
Projektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python.
Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python. Pliki z rozwiązaniami projektu (wszystkie polecenia
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 8 Przykład realizowany na wykładzie Klasy StringBad i String. Wstępne pliki załaczone jako źródła.
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Standard Template Library. Część 1. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.
2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane
Operatory na rzecz typu TString
Operatory na rzecz typu TString Dopiszmy w definicji klasy operator[], dzięki któremu potraktujemy obiekt jak tablicę class TString { public: char& operator[]( size_t n ); const char& operator[]( size_t
Programowanie Obiektowew języku C++ Zadania L9
Programowanie Obiektowew języku C++ Zadania L9 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
Szablon klasy std::list
Szablon klasy std::list Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
Programowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26
Programowanie w C++ Wykład 13 Katarzyna Grzelak 4 czerwca 2018 K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 5 Algorytmy i wskaźniki dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Plan Zapis i odczyt z plików tekstowych O tablicach ciąg dalszy Referencje
Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )
Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Przeciążanie operatorów Słowo
W przypadku STL w specyfikacji nazwy pliku nagłówkowego brak rozszerzenia tj. <string> <string.h> zamiast
Wykład 12 - Biblioteka stadardowa.sxw 1 Przegląd biblioteki standardowej C++; W porównaniu z pierwszymi implementacjami i specyfikacjami C++ biblioteka standardowa języka C++ bardzo się rozrosła, a w latach
Paradygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
Programowanie w C++ Wykład 12. Katarzyna Grzelak. 20 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32
Programowanie w C++ Wykład 12 Katarzyna Grzelak 20 maja 2019 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Programowanie obiektowe w C++ Wykład 12
Programowanie obiektowe w C++ Wykład 12 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) 1 / 22 Zakresowe pętle for double tab[5] {1.12,2.23,3.33,4.12,5.22 for(double x: tab)
Techniki Programowania wskaźniki
Techniki Programowania wskaźniki Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Wskaźniki Dla typu T zapis T* oznacza
class Student Deklaracja klasy Osoba: Deklaracja klasy Student:
Osoba Student Będziemy mieli 2 klasy: Osoba, dla której zapamiętamy dane takie jak: imie, nazwisko i wiek Oraz klasę Student, w której będziemy też dodatkowo pamiętać kierunek studiów. Deklaracja klasy
EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++
IMIĘ i NAZWISKO: przykładowe odpowiedzi NR: 0 EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++ 1. Napisz precyzyjnie co to jest ptr jeśli: const * const Foo ptr; ptr to stały wskaźnik do stałego obiektu typu Foo
Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Programowanie w C++ z użyciem kontenerów - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
programowanie w C++ dla OWK Programowanie w C++ z użyciem kontenerów - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1 Streszczenie W tym rozdziale podamy kilka najprostszych
Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3
Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat
Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część druga Przetwarzanie tablic znaków Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przestrzenie nazw Standardowa biblioteka szablonów
Podstawy Programowania
Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 05 1 / 15 Plan wykładu 1 Biblioteka
public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
Podstawy programowania
Podstawy programowania Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót treści wykładu,
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Standardowa biblioteka szablonów (Standard Template
Dzisiejszy wykład. Wzorce funkcji Wzorce klas Tablica asocjacyjna Składowe statyczne
Dzisiejszy wykład Wzorce funkcji Wzorce klas Tablica asocjacyjna Składowe statyczne 1 Wzorce Często pojawia się konieczność pisania podobnych funkcji lub klas operujących na argumentach różnych typów int
obiekty funkcyjne - funktory
#include #include #include #include #include #include #include #include #include #include using namespace
Jak Windows zarządza pamięcią?
Jak Windows zarządza pamięcią? System Windows definiuje dwa typy pamięci, często mylone przez użytkowników. Pamięć fizyczna (pamięc RAM zainstalowana w komputerze) Pamięć widziana przez daną aplikację
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 6 Katarzyna Grzelak kwiecień 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31
Programowanie w C++ Wykład 8 Katarzyna Grzelak 7 maja 2018 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
tablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Cena szkolenia. Opis kursu
Kurs C++ Cena szkolenia Cena szkolenia wynosi 90 zł za 60 min. Ilość godzin szkolenia jest zależna od postępów w nauce uczestnika kursu i ilości czasu, w którym realizuje zadania i projekty zlecone w ramach
TEMAT : KLASY POLIMORFIZM
TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie
Operator przypisania. Jest czym innym niż konstruktor kopiujący!
Operator przypisania Jest czym innym niż konstruktor kopiujący! Domyślnie jest zdefiniowany jako przypisanie składowa po składowej (zatem niekoniecznie bajt po bajcie). Dla klasy X definiuje się jako X&
Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Kontrola przebiegu programu
Kontrola przebiegu programu Wykład 9 Instrukcje sterujące: pętle rozgałęzienia skoki PRZYPOMINAJKA Zadanie : Zaprojektuj rekurencyjny przepis na wyznaczenie największej takiej liczby m, że 2 m jest podzielnikiem
#include "stdafx.h" #include <iostream> #include "windows.h" using namespace std;
// W8_3.cpp : Defines the entry point for the console application. // Przeciazenie operatorow new, delete // Przeciazenie globalne: przeciazone operatory new, delete // dzialaja dla danych dowolnych //
it = 0; memset((void *)ptr, 0, items*sizeof(double)); cout << "Konstruktor sparametryzowany " << title << " adres: " << ptr << "\n";
// W7.cpp : Defines the en point for the console application. // Konstruktor kopiujacy. Funkcje zwraca obiekt klasy. // Przeciazenie operatora przypisania 1 #include "stdafx.h" #include #include
Wstęp do programowania
wykład 3 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru switch umożliwia podejmowanie decyzji na podstawie wartości
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Pliki wykład 2. Dorota Pylak
Pliki wykład 2 Dorota Pylak Struktura programu działającego na plikach 1) Dyrektywa preprocesora #include //zapewnia dostęp do strumieni ifstream i ofstream 2) deklaracja zmiennej (strumienia)
KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Laboratorium 2. Funkcje wirtualne
Laboratorium 2 Funkcje wirtualne Zadanie 1. Zapoznaj się z programem z pliku lab2-p1.cpp. Czy program działa prawidłowo? Dlaczego funkcja rachunek() jest zdefiniowana jako virtual? Co się stanie jeśli
Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015.
Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015 Spis treści 0 Proszę nie czytać tego! 19 1 Startujemy! 24 1.1 Pierwszy program
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
typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;
Wstęp do Informatyki
Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e
Programowanie Obiektowew języku C++ Zadania L8
Programowanie Obiektowew języku C++ Zadania L8 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
Klasa std::string. Bogdan Kreczmer. ZPCiR IIAiR PWr pokój 307 budynek C3.
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013 Wykład nr 6 (07.12.2012) dr inż. Jarosław Forenc Rok
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:
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: typ nw; /* definicja zmiennej nw typu typ */ typ *w_nw; /* definicja
Programowanie obiektowe i C++ dla matematyków
Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 10 I 2012 1 Zabronienie kopiowania Czasami nie ma sensu, żeby obiekty pewnego typu były kopiowane z innych obiektów.
STL Standardt Template Library (wprowadzenie)
STL Standardt Template Library (wprowadzenie) Biblioteka standardowych szablonów na dzień dzisiejszy stanowi jedną z najpotężniejszych możliwości języka C++ Zawiera szablony klas ogólnego przeznaczenia
KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Operacje wejścia/wyjścia (odsłona druga) - pliki
Operacje wejścia/wyjścia (odsłona druga) - pliki Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały
Programowanie Obiektowe i C++
Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 6.11.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 6.11.2006 1 / 138 Operator przypisania Jest czym innym niż konstruktor kopiujacy!