Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Przekazywanie tablicy jednowymiarowej do funkcji
- void sposob_1( int tablica[ 123 ] );
- void sposob_2( int tablica[] );
- void sposob_3( int * tablica );
- przykad:
- #include <iostream>
- void wypelnijTablice( int t[], int iRozmiar )
- {
- std::cout << "Podaj " << iRozmiar << " liczb:" << std::endl;
- int i = 0;
- do
- {
- std::cin >> t[ i ];
- i++;
- } while( i < iRozmiar );
- }
- int main()
- {
- int moja_tablica[ 5 ];
- wypelnijTablice( moja_tablica, 5 );
- int i = 0;
- do
- {
- std::cout << moja_tablica[ i ] << ", ";
- i++;
- } while( i < 5 );
- return 0;
- }
- ----
- Struktury danych
- //struktura dla uytkownikw forum
- struct Uzytkownicy_DDT //deklaracja struktury
- { //opis struktury
- std::string nik;
- std::string haslo;
- short data_zalozenia_konta;
- std: string status;
- };
- struct Uzytkownicy_DDT //deklaracja struktury
- {
- //opis struktur
- std::string nik;
- std::string haslo;
- short lp;
- std::string status;
- std::string rodzaj_konta;
- };
- int main()
- {
- using namespace std;
- //Tworzenie obiektu struktury i wypenianie-------
- Uzytkownicy_DDT PiotrSzawdynski =
- {
- "PiotrSzawdynski",
- "!@#$%%^",
- 1,
- "Aktywny",
- "Admin"
- };
- /*WANE dla niektrych kompilatorw naley
- uy zapisu static Uzytkownicy_DDT PiotrSzawdynski =*/
- Uzytkownicy_DDT Pietrzuch =
- {
- "Pietrzuch",
- "@m@m$@#@",
- 24,
- "Aktywny",
- "Moderator"
- };
- /*inny sposb wprowadzania danych do
- obiektu*/
- //tworzenie obiektu
- Uzytkownicy_DDT Piotrus_Pan;
- /*wypenianie obiektu wartociami dla
- poszczeglnych typw danych*/
- Piotrus_Pan.haslo = "PanPiotr";
- Piotrus_Pan.lp = 927;
- Piotrus_Pan.nik = "Piotrus_Pan";
- Piotrus_Pan.rodzaj_konta = "Uzytkownik";
- Piotrus_Pan.status = "zablokowany";
- //wywietlenie obiektw
- cout << "Oto lista uzytkownikow forum DDT"
- << endl << "Nik " << PiotrSzawdynski.nik
- << endl << "haslo " << PiotrSzawdynski.haslo
- << endl << "Nr usera " << PiotrSzawdynski.lp
- << endl << "Status " << PiotrSzawdynski.status
- << endl << "Rodzaj Konta "
- << PiotrSzawdynski.rodzaj_konta
- << endl
- << endl << "Nik " << Pietrzuch.nik
- << endl << "haslo " << Pietrzuch.haslo
- << endl << "Nr usera " << Pietrzuch.lp
- << endl << "Status " << Pietrzuch.status
- << endl << "Rodzaj Konta "
- << Pietrzuch.rodzaj_konta
- << endl
- << endl << "Nik " << Piotrus_Pan.nik
- << endl << "haslo " << Piotrus_Pan.haslo
- << endl << "Nr usera " << Piotrus_Pan.lp
- << endl << "Status " << Piotrus_Pan.status
- << endl << "Rodzaj Konta "
- << Piotrus_Pan.rodzaj_konta;
- getch();
- return( 0 );
- }
- ----\
- Wskaniki
- #include <iostream>
- #include <conio.h>
- using namespace std;
- int main()
- {
- int zmienna1 = 213;
- int tablica[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
- struct
- {
- int liczba;
- long long duzaLiczba;
- } struktura;
- cout << "Adres zmienna1=" <<& zmienna1 << endl << endl;
- cout << "Adres tablica=" <<& tablica << endl;
- cout << "Adres tablica[0]=" <<& tablica[ 0 ] << endl;
- cout << "Adres tablica[1]=" <<& tablica[ 1 ] << endl << endl;
- cout << "Adres struktura=" <<& struktura << endl;
- cout << "Adres struktura.liczba=" <<&( struktura.liczba ) << endl;
- cout << "Adres struktura.duzaLiczba=" <<&( struktura.duzaLiczba ) << endl;
- getch();
- return( 0 );
- }
- przyklad
- //Wskaniki pierwsze spojrzenie----------
- #include <iostream>
- #include <conio.h>
- int main()
- {
- using namespace std;
- int liczba = 9;
- int * wsk_liczba; /*--deklaracja wskanika
- na int--*/
- wsk_liczba = & liczba; /* przypisanie wskanikowi
- adresu int */
- //dwa sposoby wywietlenia wartoci liczba
- cout << "Zmienna liczba = " << liczba
- << "\ni *wsk_liczba jako zmienna liczba = "
- << * wsk_liczba
- << endl;
- //dwa sposoby wywietlenia adresu zmiennej
- cout << "Adres liczby = " << & liczba
- << "\ni wsk_liczba jako adres liczby = "
- << wsk_liczba
- << endl;
- //zmiana wartoci za pomoc wskanika
- * wsk_liczba = * wsk_liczba + 1;
- cout << "Liczba = " << liczba;
- getch();
- return 0;
- }
- //---------------------------------------
- Dynamiczne zarzdzanie pamici new i delete
- wskaznik1 = new typ_zmiennej;
- wskaznik2 = new typ_zmiennej[ ilosc_elementow_danego_typu ];
- delete wskaznik;
- delete[] wskaznik_do_tablicy;
- ------------------
- Klasy (obiekty)
- class NazwaTwojejKlasy
- {
- //w tym miejscu piszemy definicje typw, zmienne i funkcje jakie maj nalee do klasy.
- }; //tutaj rednik jest bardzo wany!
- ---
- class TwojaKlasa
- {
- };
- int main()
- {
- TwojaKlasa nazwaZmiennej;
- return( 0 );
- }
- ---
- konstruktor
- class NazwaTwojejKlasy
- {
- public:
- NazwaTwojejKlasy(); //To jest definicja konstruktora
- };
- NazwaTwojejKlasy::NazwaTwojejKlasy()
- {
- //Tu inicjujemy wartoci zmiennych klasy
- }
- przyklad
- #include <iostream>
- #include <conio.h>
- using namespace std;
- class JakasKlasa
- {
- int a;
- char b;
- std::string c;
- public:
- JakasKlasa();
- };
- JakasKlasa::JakasKlasa()
- {
- cout << "Klasa utworzona, wartosci zmiennych: " << endl;
- cout << "a = " << a << endl;
- cout << "b = '" << b << "'" << endl;
- cout << "c = \"" << c << "\"" << endl;
- a = 123;
- b = 'x';
- c = "napis";
- cout << "Wartosci zmiennych po zainicjowaniu w konstruktorze: " << endl;
- cout << "a = " << a << endl;
- cout << "b = '" << b << "'" << endl;
- cout << "c = \"" << c << "\"" << endl;
- }
- int main()
- {
- JakasKlasa tZmienna;
- getch();
- return( 0 );
- }
- Takie rozwizanie jest oczywicie poprawne, niemniej jednak czasami zachodzi potrzeba zainicjowania zmiennej w trakcie tworzenia klasy, a nie po jej utworzeniu. Aby to zrobi, naley uy nastpujcego zapisu:
- C/C++
- #include <iostream>
- #include <conio.h>
- using namespace std;
- class JakasKlasa
- {
- int a;
- char b;
- std::string c;
- public:
- JakasKlasa();
- };
- JakasKlasa::JakasKlasa()
- : a( 123 )
- , b( 'x' )
- , c( "napis" )
- {
- cout << "Klasa utworzona, wartosci zmiennych: " << endl;
- cout << "a = " << a << endl;
- cout << "b = '" << b << "'" << endl;
- cout << "c = \"" << c << "\"" << endl;
- }
- int main()
- {
- JakasKlasa tZmienna;
- getch();
- return( 0 );
- }
- desturtro
- class NazwaTwojejKlasy
- {
- public:
- ~NazwaTwojejKlasy(); //To jest definicja destruktora
- };
- NazwaTwojejKlasy::~NazwaTwojejKlasy()
- {
- //Tu wykonujemy wszystkie operacje jakie maj si wykona automatycznie tu przed zwolnieniem pamici zajmowanej przez klas.
- }
- ---
- #include <iostream>
- #include <conio.h>
- using namespace std;
- class KlasaCL
- {
- public:
- KlasaCL();
- ~KlasaCL();
- };
- int main()
- {
- KlasaCL * tKlasa;
- cout << "Rezerwuje pamiec za pomoca new" << endl;
- tKlasa = new KlasaCL;
- cout << "Wchodze do bloku {" << endl;
- {
- KlasaCL tKlasa;
- }
- cout << "Wyszedlem z bloku }" << endl;
- cout << "Zwalniam pamiec, ktora zostala zarezerwowana za pomoca new" << endl;
- delete tKlasa;
- getch();
- return( 0 );
- }
- KlasaCL::KlasaCL()
- {
- cout << "=> Konstruktor wywolany!" << endl;
- }
- KlasaCL::~KlasaCL()
- {
- cout << "=> Destruktor wywolany!" << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement