Używanie metody w metodzie
Ostatnio zmodyfikowano 2014-08-14 13:07
fokusx Temat założony przez niniejszego użytkownika |
Używanie metody w metodzie » 2014-08-14 12:44:45 class test { public: void test1(); private: void test2(); };
void test::test1() { test2(); 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? |
|
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();
|
|
Jacob99 |
» 2014-08-14 12:52:55 Jest prawidłowe, chciaż w niektórych przypadkach użycia funkcji w funkcji wynik jest niezdefiniowany. |
|
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 ;) |
|
« 1 » |