Wyjaśnij co to jest w C++ i podaj przykłady: -klasa, struktura (przykłady) -konstruktory i destruktory -składowe klasy i struktury (private, public, protected) -pojęcie unii (przykład)
Teodion
Klasa -> typ danych zdefiniowany przez programistę. Może zawierać metody i zmienne. Różni się od struktury jedynie tym, że domyślny specyfikator dostępu do jej składowych to private. Struktura -> to samo co klasa. Różni się od niej jedynie tym, że domyślny specyfikator dostępu do jej składowych to public.
Przykład (struktura będzie identyczna z tymże zamiast class piszemy struct): class Point { public : Point(); //konstruktor Point(int x, int y); //konstruktor przyjmujący 2 zmienne ~Point(); //destruktor
int& x(); int& y();
private : int x; int y; }; ---------------------------------------------------------------------- Konstruktor -> specjalna metoda klasy, która jest wywoływana tylko podczas tworzenia obiektu danej klasy. Konstruktor nie może niczego zwracać, nawet typu void. Konstruktorów w klasie możesz mieć do woli, ważne by różniły się parametrami. Destruktor -> tak samo jak konstruktor to specjalna metoda klasy, z tymże ta służy do usuwania obiektu. Destruktor można zadeklarować jako metodę wirtualną. Jest wywoływany gdy obiekt nie jest już dłużej dostępny np. opuści zakres, w którym został zadeklarowany. Destruktor może być tylko jeden. ---------------------------------------------------------------------- - private, public i protected to tzw. specyfikatory dostępu: do składowej publicznej można odwoływać się poza klasą, do prywatnej i chronionej już nie. Różnica między private a protected jest taka, że przy dziedziczniu klasy np.: class Vector : public Point { }; składowe ze specyfikatorem private w Point, nie będą dostępne w klasie Vector, a te ze specyfikatorem protected już tak. ---------------------------------------------------------------------- unia -> również jest typem zdefiniowanym przez programistę. Jednakże w przeciwieństwie do klas i struktur ta nie może dziedziczyć ani być dziedziczona. Unia ma jeszcze jedną ważną cechę, że w danym momencie zawiera tylko jedną składową, dlatego też zajmuje tyle miejsca w pamięci, aby móc pomieścić największą składową.
Przykład: union Type { int iValue; long lValue; double dValue; };
0 votes Thanks 0
piterwu666
- klasa, struktura - typ danych definiowany przez programistę, reprezentujący pewien obiekt w rzeczywistości, np. Punkt, Figurę, Osobę, klasa może zawierać pola przechowujące dane i metody wykonujące działania Przykład: class Punkt { public: float X; float Y; }; - konstruktor - metoda o nazwie takiej samej jak klasa w obrębie której działa, jest wywoływana w momencie tworzenia obiektu - destruktor - metoda o takiej samej nazwie jak klasa z dodanym prefiksem '~', wywoływana w momencie usuwania obiektu - składowe klasy i struktury - pola i metody w klasie / strukturze. Domyślnie w klasach pola i metody są określane jako private - są dostępne tylko wewnątrz danej klasy, natomiast metody i pola struktur są domyślnie public - dostepne dla wszystkich również z zewnątrz. Modyfikator dostępu protected oznacza, że dane pole / metoda jest dostępna tylko dla danej klasy w której się znajduje, oraz dla klas dziedziczących po niej. - Unia - pewien rodzaj struktury, który rezerwuje w pamięci tyle miejsca, ile jest potrzebne do zapisania największego pola tej unii, np. unia składająca się z typów int i double zajmie w pamięci tylko 8 bajtów (tyle, ile ma double). Korzystając z unii możemy korzystać tylko z jednego z jej wszystkich pól na raz. Przykład: union number { int i; double d; };
Struktura -> to samo co klasa. Różni się od niej jedynie tym, że domyślny specyfikator dostępu do jej składowych to public.
Przykład (struktura będzie identyczna z tymże zamiast class piszemy struct):
class Point {
public :
Point(); //konstruktor
Point(int x, int y); //konstruktor przyjmujący 2 zmienne
~Point(); //destruktor
int& x();
int& y();
private :
int x;
int y;
};
----------------------------------------------------------------------
Konstruktor -> specjalna metoda klasy, która jest wywoływana tylko podczas tworzenia obiektu danej klasy. Konstruktor nie może niczego zwracać, nawet typu void. Konstruktorów w klasie możesz mieć do woli, ważne by różniły się parametrami.
Destruktor -> tak samo jak konstruktor to specjalna metoda klasy, z tymże ta służy do usuwania obiektu. Destruktor można zadeklarować jako metodę wirtualną. Jest wywoływany gdy obiekt nie jest już dłużej dostępny np. opuści zakres, w którym został zadeklarowany. Destruktor może być tylko jeden.
----------------------------------------------------------------------
- private, public i protected to tzw. specyfikatory dostępu:
do składowej publicznej można odwoływać się poza klasą, do prywatnej i chronionej już nie. Różnica między private a protected jest taka, że przy dziedziczniu klasy np.:
class Vector : public Point { };
składowe ze specyfikatorem private w Point, nie będą dostępne w klasie Vector, a te ze specyfikatorem protected już tak.
----------------------------------------------------------------------
unia -> również jest typem zdefiniowanym przez programistę. Jednakże w przeciwieństwie do klas i struktur ta nie może dziedziczyć ani być dziedziczona. Unia ma jeszcze jedną ważną cechę, że w danym momencie zawiera tylko jedną składową, dlatego też zajmuje tyle miejsca w pamięci, aby móc pomieścić największą składową.
Przykład:
union Type {
int iValue;
long lValue;
double dValue;
};
Przykład:
class Punkt
{
public:
float X;
float Y;
};
- konstruktor - metoda o nazwie takiej samej jak klasa w obrębie której działa, jest wywoływana w momencie tworzenia obiektu
- destruktor - metoda o takiej samej nazwie jak klasa z dodanym prefiksem '~', wywoływana w momencie usuwania obiektu
- składowe klasy i struktury - pola i metody w klasie / strukturze. Domyślnie w klasach pola i metody są określane jako private - są dostępne tylko wewnątrz danej klasy, natomiast metody i pola struktur są domyślnie public - dostepne dla wszystkich również z zewnątrz. Modyfikator dostępu protected oznacza, że dane pole / metoda jest dostępna tylko dla danej klasy w której się znajduje, oraz dla klas dziedziczących po niej.
- Unia - pewien rodzaj struktury, który rezerwuje w pamięci tyle miejsca, ile jest potrzebne do zapisania największego pola tej unii, np. unia składająca się z typów int i double zajmie w pamięci tylko 8 bajtów (tyle, ile ma double). Korzystając z unii możemy korzystać tylko z jednego z jej wszystkich pól na raz.
Przykład:
union number
{
int i;
double d;
};