Czy użycie operatora zakresu jest poprawne ?
Ostatnio zmodyfikowano 2012-10-03 08:27
diego997 Temat założony przez niniejszego użytkownika |
Czy użycie operatora zakresu jest poprawne ? » 2012-10-02 20:30:59 Czy poniższy kod jest prawidłowy, można coś takiego robić ? class A { private: public: A() { } enum type { JEDEN, DWA }; void Type( type ); };
void A::Type( typ TYP ) { if( TYP == JEDEN ) cout << "Jeden"; else cout << "Dwa"; }
int main() { A::Type( A::JEDEN ); }
|
|
Mrovqa |
» 2012-10-02 20:34:11 Dlaczego miałby być nieprawidłowy? Jeśli się kompiluje i działa, to jest prawidłowy :) |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-10-02 20:36:07 A gościu mi napisał coś takiego:
Unjustified use of scope operator at times
A w sumie co się dzieje w tym momencie przecież się nie tworzy obiektu. On jest tworzony na moment i zaraz usuwany ?
|
|
Admixior |
» 2012-10-02 20:37:37 Prawdopodobnie chodzi o to że nie musisz używać operatoru zakresu A:: bo nic to nie zmienia, kiedyś może trzeba było ale teraz jest to nie potrzebne jak nie ma zasłonięcia. |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-10-02 20:39:59 Nie rozumie jak tego nie uzyje to nie odwolam sie do klasy A |
|
Mrovqa |
» 2012-10-02 20:40:01 Teraz zauważyłem o co Ci chodzi. Jeśli chcesz tak wywołać metodę, to musi ona być statyczną. W przeciwnym wypadku musisz ją wywołać dla konkretnego obiektu. |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-10-02 20:41:47 dobra mrówka masz racje w takim razie takie coś powinno być prawidłowe i nie powinien się czepiać: A ObjA;
ObjA.Type( A::DWA );
|
|
DejaVu |
» 2012-10-02 21:11:11 Wstawiaj proszę błędy kompilacji/ostrzeżenia w nazwie tematu jeżeli masz problemy z kompilowaniem aplikacji. Wątpię czy ktokolwiek znajdzie Twój temat w przyszłości po nazwie "operator zakresu" mając podobny problem. |
|
« 1 » 2 |