25.1 Struktury w C++, Programowanie, Klasa III


Struktury to złożone typy danych pozwalające przechowywać różne informacje. Za pomocą struktur możliwe jest grupowanie wielu zmiennych o różnych typach w jeden obiekt. Strukturę można nazywać obiektem lub pojemnikiem czy też rekordem.

Dzięki strukturom można w prosty sposób organizować zbiory danych, bez konieczności korzystania z tablic (np. bardzo niewygodnie tworzyć bazę danych na tablicach).

Deklaracja struktury w C++

struct osoba {

string imie;

string nazwisko;

int wiek;

};

Dzięki utworzeniu struktury powyżej można przechowywać informacje takie jak imię, nazwisko i wiek w jednym pojemniku.

Słowo kluczowe struct informuje kompilator, że zostanie zadeklarowana struktura. Na drugim miejscu znajduje się nazwa struktury. Następnie w klamrach występują kolejno po sobie pola struktury czyli zmienne.

struct osoba {

string imie;

string nazwisko;

int wiek;

} jan, artur, zenon;

W powyższym przykładzie, oprócz deklaracji struktury zostały także utworzone jej obiekty. Nazwy nowych obiektów struktury wypisuje się po przecinku po bloku z polami.

Struktury w C mogły zawierać tylko pola. W C++ wprowadzono także możliwość dołączania metod do struktury czyli funkcji.

Metoda - to inaczej funkcja w strukturze

Pole - to inaczej zmienna w strukturze

W internecie często będziesz spotykał nieco inną deklarację struktury z użyciem rozkazu typedef. Przykład takiej deklaracji to np:

#include <iostream>

#include <string.h>

using namespace std;

typedef struct osoba {

string imie;

string nazwisko;

int wiek;

} Osoba;

int main()

{

Osoba listonosz; // styl C++

struct osoba strazak; // styl C

listonosz.imie = "Jan";

strazak.imie = "Piotr";

cout << "Imie listonosza: " << listonosz.imie << endl;

cout << "Imie strazaka: " << strazak.imie << endl;

return 0;

}

Taka forma deklaracji była używana w języku C. W języku C deklarując strukturę trzeba było za każdym razem jej typ poprzedzać słowem struct nawet w głównej funkcji programu. Dlatego programiści tworzyli typ złożony za pomocą rozkazu typedef. Dzięki temu zamiast pisać za każdym razem struct osoba ktos, można było używać struktur tak jak w teraz w C++ czyli osoba ktos.

Wczytywanie danych do struktury

Posiadamy zadeklarowaną strukturę osoba. Wykorzystajmy ją w programie. Na początku utworzymy obiekt struktury, następnie wypełnimy danymi i wyświetlimy dowolne pole:

#include <iostream>

#include <string.h>

using namespace std;

// deklaracja struktury

struct osoba {

string imie;

string nazwisko;

int wiek;

};

int main()

{

osoba jan; // tworzenie obiektu struktury o nazwie jan

jan.imie = "Jan";

jan.nazwisko = "Kowalski";

jan.wiek = 55;

cout << "Twoje imie to: " << jan.imie << endl;

return 0;

}

Jest to prosty przykład na to, jak działa wypełnianie struktur danymi.

Zauważ, że chcąc korzystać ze zmiennych struktury odwołujemy się do nich najpierw podając nazwę obiektu struktury, następnie nazwę pola po kropce.



Wyszukiwarka

Podobne podstrony:
23 - Funkcje, Programowanie, Klasa III
10. Operatory arytmetyczne, Programowanie, Klasa III
26.5 Klasy - dziedziczenie, Programowanie, Klasa III
16a. Petla do while, Programowanie, Klasa III
11. Operatory relacji, Programowanie, Klasa III
2013.04.10 - 3a1 - kartk, Programowanie, Klasa III
26.1 Klasy w C++, Programowanie, Klasa III
12. Operatory logiczne, Programowanie, Klasa III
27.2 wskazniki - zadania, Programowanie, Klasa III
22 Procedury, Programowanie, Klasa III
15.1. Konsola + przestrzenie nazw, Programowanie, Klasa III
27.4 - zadanie, Programowanie, Klasa III
23 - Funkcje, Programowanie, Klasa III
KLASA III - PROGRAM KOLA PRZYRODNICZEGO semestr 1, Klub Miłośników Przyrody - kółko przyrodnicze kla
Algorytmy struktury danych i techniki programowania Wydanie III algo3
KLASA III - PROGRAM KOLA PRZYRODNICZEGO semestr 1, Klub Miłośników Przyrody - kółko przyrodnicze kla
Algorytmy, struktury danych i techniki programowania Wydanie III
Algorytmy struktury danych i techniki programowania Wydanie III algo3
Algorytmy struktury danych i techniki programowania Wydanie III algo3

więcej podobnych podstron