Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Język C++

operator konwersji

[operator - metoda] Przeciążanie operatora konwersji w języku C++.

Przykład

C/C++
#include <cstdio>

class CKlasa
{
public:
    enum TypDanychT
    {
        E_TYP1, E_TYP2, E_TYP3
    };
    operator TypDanychT() const //definicja operatora konwersji
    {
        return m_dane;
    }
   
    CKlasa( TypDanychT dane )
        : m_dane( dane )
    {
    }
private:
    TypDanychT m_dane;
};

void testuj( CKlasa & klasa )
{
    switch( klasa ) //użycie operatora konwersji
    {
    case CKlasa::E_TYP1:
        printf( "CKlasa::E_TYP1\n" );
        break;
    case CKlasa::E_TYP2:
        printf( "CKlasa::E_TYP2\n" );
        break;
        default:
        printf( "Obsluga typu wyliczeniowego nie zostala zdefiniowana.\n" );
        break;
    } //switch
}

int main()
{
    CKlasa k1( CKlasa::E_TYP1 );
    CKlasa k2( CKlasa::E_TYP2 );
    CKlasa k3( CKlasa::E_TYP3 );
    testuj( k1 );
    testuj( k2 );
    testuj( k3 );
    return 0;
}
Standardowe wyjście programu:
CKlasa::E_TYP1
CKlasa::E_TYP2
Obsluga typu wyliczeniowego nie zostala zdefiniowana.

Zagadnienia powiązane

Linki zewnętrzne