C++ podstawy klas

Wrzesień 07, 2012

Ponieważ „Hello Word” mamy już za sobą to można się zająć czymś bardziej ambitnym. W dzisiejszych czasach niepodzielnie króluje programowanie obiektowe. W tymże podejściu stosuje się zasadę, że rzeczywistość opisuje się za pomocą obiektów, które grupuje się dzięki wspólnym matrycom. Taka matryca to Klasa (słowo kluczowe class) która jest wzorem dla obiektu.
Brzmi to trochę strasznie dla kogoś kto nigdy nie programował – ale nie jest wcale tak źle :). Wyobraźmy sobie sytuację gdy chcemy zebrać i przetworzyć podstawowe dane na temat kilku osób. Każda z osób cechuje się następującymi atrybutami:

  • Imię
  • Nazwisko
  • Wiek

Ale każda z osób ma inne wartości poszczególnych atrybutów. Poniżej został przedstawiony praktyczny przykład zastosowania powyższego opisu, tj. stworzyliśmy klasę „Osoba”, zawierająca 3 opisane powyżej argumenty [btw. „string” który się pojawia jako typ dwóch zmiennych to po prostu łańcuch znaków]. Nasza klasa zawiera też jedną metodę OsobaInfo, która odpowiada za wyświetlenie informacji o wpisanej osobie.

#include <iostream>
#include <string>

using namespace std;

class Osoba
{
  public:
    string imie;
    string nazwisko;
    int wiek;
  
    void OsobaInfo();
};

void Osoba::OsobaInfo(void)
{
  cout << this->imie << " " << this->nazwisko << ", " << this->wiek << " lat" << endl;
} // Osoba::OsobaInfo

int main()
{
  Osoba ja;
  ja.imie = "Bogumil";
  ja.nazwisko = "Cenian";
  ja.wiek = 24;
  
  ja.OsobaInfo();
  cin.get();
  
  return 0;
} // main

Po uruchomieniu programu „wchodzimy” do funkcji main() i wykonujemy kolejne instrukcje, linia po linii. Najpierw tworzymy obiekt o nazwie „ja” dla klasy Osoba:
Osoba ja; Następnie przypisujemy atrybuty dla obiektu i na koniec wyświetlamy info o tej osobie.
Jedna praktyczna uwaga: w następnych postach wprowadzimy tzw. modyfikatory dostępu – powyżej wszystkie pola klasy są dostępne „publicznie” (słowo public w definicji klasy) – jest to zła praktyka, dopuszczalna teraz tylko dlatego, żeby nie komplikować za bardzo przykładu.

Jak zwykle plik jest do pobrania poniżej.


Pobierz pliki
Ostatnie wpisy
image
Październik 05, 2012

Operacje na plikach - cześć pierwsza zapis do pliku

image
Wrzesień 20, 2012

Trzy Korony, 982 m.n.p.m., Pieniny

image
Wrzesień 20, 2012

Mechanizm dziedziczenia - czyli podstawy programowania obiektowego