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

Używanie metody w metodzie

Ostatnio zmodyfikowano 2014-08-14 13:07
Autor Wiadomość
fokusx
Temat założony przez niniejszego użytkownika
Używanie metody w metodzie
» 2014-08-14 12:44:45
C/C++
class test
{
public:
    void test1();
private:
    void test2();
};
C/C++
void test::test1()
{
    // tak, czy...
    test2();
    // ...tak?
    test::test2();
}
...

Kompilator nie wywalił mi błędu podczas użycia metody w metodzie w ten sposób: test2();
Czy użycie w ten sposób metody w metodzie jest prawidłowe? Jak używać metody w metodzie?
P-115439
Monika90
» 2014-08-14 12:51:48
Jedno i drugie jest poprawne. Na ogół używa się tego pierwszego sposobu. Ten drugi ma tę dodatkową własność, że jeżeli test2() jest funkcją wirtualną, to przy takim wywołaniu: test::test2(); zostanie potraktowana jak niewirtualna.

Dodam, że oprócz tych dwóch sposobów
test2();
test::test2();

jest też wiele innych, np. this->test2();


P-115440
Jacob99
» 2014-08-14 12:52:55
Jest prawidłowe, chciaż w niektórych przypadkach użycia funkcji w funkcji wynik jest niezdefiniowany.
P-115441
pekfos
» 2014-08-14 13:07:09
chciaż w niektórych przypadkach użycia funkcji w funkcji wynik jest niezdefiniowany.
Niektóre sytuacje grożą trwałym kalectwem - oczywista i mało przydatna informacja, bo nawet nie wiadomo czego unikać, ani co miałeś na myśli ;)
P-115442
« 1 »
  Strona 1 z 1