Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Kiedy / gdzie użyć operator ".", "->", "::"

Ostatnio zmodyfikowano 2014-08-29 12:01
Autor Wiadomość
fokusx
Temat założony przez niniejszego użytkownika
Kiedy / gdzie użyć operator ".", "->", "::"
» 2014-08-29 00:21:35
Już się pogubiłem...
Kiedy użyć operator :: , . , ->


A myślałem, że już to wiem :P Ale co jakiś czas okazuje się, że zły używam operator.

Jaki użyć operator w przypadkach:

1) Chcę odczytać zmienną, znajdującą się w klasie, poza klasą: .?
2) Chcę użyć metody wewnątrz klasy w której się znajduje: ::?
3) Chcę użyć metody, znajdującą się w klasie, poza klasą: ->? Przed chwilą tu popełniłęm błąd, kompilator uznał "." 0_o
4) Chcę użyć zmiennej, znajdującą się w klasie, w metodzie, pochodzącą z tej samej klasy: nic lub ::?
P-116348
Monika90
» 2014-08-29 00:43:17
Jeżeli po lewej stronie operatora jest:
 - wskaźnik, to użyjesz ->
 - obiekt klasy lub referencja do obiektu klasy, to .
 - nazwa klasy, to ::
P-116349
Jacob99
» 2014-08-29 07:51:17
Czyli dla przykładu:
C/C++
class klasa
{
public:
    int zmienna;
};

klasa zmienna; // tworzymy normalną zmienną typu klasa
klasa * kpointer; // tworzymy wskaźnik na typ klasa
cout << zmienna.zmienna; // Notacja z kropką '.', bo odwołujemy się przez obiekt;
cout << *( kpointer->zmienna ); // Notacja ze 'strzałką''->', bo odwołujemy się przez wskaźnik;
cout << klasa::zmienna; // Notacja z powójnym dwukropkiem '::', bo odwołujemy się do zakresu klasy;

W czym przy ostatniej możliwości, czyli operatorze '::' odwołujemy się do jakiegoś zakresu, bo to jest operator zakresu.
Możemy dzięki niemu odwołać się do przestrzeni nazw, klasy lub, w przypadku zagnieżdżonych bloków i przesłaniania nazw, do zmiennej globalnej.
P-116350
GGG205
» 2014-08-29 12:01:39
Albo do przestrzeni nazw np std::
P-116361
« 1 »
  Strona 1 z 1