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

[C++] Metoda ze słowem const

Ostatnio zmodyfikowano 2013-01-31 16:59
Autor Wiadomość
RazzorFlame
Temat założony przez niniejszego użytkownika
[C++] Metoda ze słowem const
» 2013-01-31 16:47:55
Coś mnie dziwi taki zapis:
C/C++
string jakasFunkcja() const
{
    return "costam";
}
Co ona oznacza?
P-75454
ison
» 2013-01-31 16:48:52
metoda, którą możesz wywołać dla stałych obiektów
P-75455
DejaVu
» 2013-01-31 16:52:05
const za metodą informuje, że nie ulega zmianie stan obiektu (czyli np. nie zmienia się liczba danych przechowywanych przez obiekt itp.). Do funkcji nie da się zastosować słowa kluczowego const na końcu deklaracji.
P-75456
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2013-01-31 16:54:17
Czyli powiedzmy mamy klase:
C/C++
class JakasKlasa
{
public:
    int zmienna;
    int metoda() const
    {
        //return zmienna; <- dozwolone
        zmienna = 123; //<- zakazane
    }
   
};
Dobrze rozumiem?
P-75457
DejaVu
» 2013-01-31 16:56:55
Dobrze rozumiesz - ale zmienne tymczasowe możesz tworzyć wewnątrz takiej metody i je modyfikować. Byleby nie uległ zmianie stan zmiennych, które należą do obiektu.
P-75458
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2013-01-31 16:57:38
Okej, dzieki zamykam
P-75459
DejaVu
» 2013-01-31 16:59:44
Od tej zasady jest wyjątek: » standard C++mutable. Jednak zanim będziesz miał potrzebę z niego czasem skorzystać to najpierw musisz przyzwyczaić się do świadomego klepania metod const-owych :P
P-75460
« 1 »
  Strona 1 z 1