Operator '.' służy do wyciągania elementów (zmiennych składowych, metod) z pudełka (klasy, struktry, unii). Po lewej stronie stoi konkretna instancja: obiekt.element
Operator zakresu '::' służy do:
- korzystania z nazw zdefiniowanych w przestrzeniach nazw (np std::cout)
- wyciągania statycznych metod i składowych z funkcji / struktury, wtedy z lewej strony stoi nazwa samej klasy/struktury a nie obiektu. Uwaga do statycznych metod i składowych możesz odwołać się również przez obiekt.nazwa, aczkolwiek Klasa::nazwa jest preferowane, bo od razu widać, że wołujemy statyczny element i nie potrzebujemy instancji, żeby dobrać się do statycznych rzeczy.
- do odwołania się w ciele klasy pochodnej do składowych / metod z klasy bazowej nadpisanych w klasie pochodnej:
struct A {
int a=1;
};
struct B : A {
int a = A::a;
};