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

Przeładowanie funkcji

Ostatnio zmodyfikowano 2012-08-28 22:14
Autor Wiadomość
diego997
Temat założony przez niniejszego użytkownika
Przeładowanie funkcji
» 2012-08-28 21:34:42
Nie wiem jak to wyjaśnić napisze co chcę zrobić. Mam dwie funkcję:

C/C++
int isEnabled();
int isEnabled();

I chcę w zależności od przesłanego parametru uruchomić którąś z nich tyle że chciałbym aby jako parametr przesyłać np: _JEDEN_ i _DWA_. i w zależności od tego wykona się któraś funkcja :D Da się tak ?
P-63922
Mrovqa
» 2012-08-28 21:37:43
C/C++
int funckja( int a );
int funckja( double b ); // to sa rozne funkcje
Przy przeładowaniu nazwy funkcji liczą się argumenty. Jeżeli jest inna kolejność argumentów lub zupełnie inna lista - to są to dwie, zupełnie inne funkcje :) Typ zwracany nie bierze się pod uwagę.
Sprawa jest taka - jesteś kompilatorem, widzisz wywołanie i starasz się jednoznacznie określić, która funkcja się wywoła. Jeśli jesteś w stanie - to wolno tak zrobić ;)
P-63923
diego997
Temat założony przez niniejszego użytkownika
» 2012-08-28 21:47:52
Albo inaczej bo w bibliotece sfml jest taka metoda:

C/C++
sf::Keyboard::isKeyPressed( sf::Keyboard::X ); //I zamiast X mozna wstawic dowolny klawisz

Możecie mi powiedzieć jak to jest zrobione ?
P-63924
SeaMonster131
» 2012-08-28 21:52:33
Zapewne coś w tym guście:
C/C++
bool klawisz( int kl )
{
    if( kl.wcisniety )
         return true;
   
    return false;
}
P-63926
cyklopek11
» 2012-08-28 22:10:56
diego997 chodzi ci chyba o funkcję przyjmującą jako parametr enum czyli coś takiego (to nie jest przeładowanie):
C/C++
enum key { KEY_A, KEY_B, KEY_C };

int isEnabled( key var );

wywołanie:
C/C++
isEnabled( KEY_A );
isEnabled( KEY_B );

itd.
O to ci chodzi?
P-63927
diego997
Temat założony przez niniejszego użytkownika
» 2012-08-28 22:14:38
@cyklopek11 Tak dzieki :DD

Sory ze nieodpowiednio pytanie sprecyzowalem
P-63928
« 1 »
  Strona 1 z 1