Język C++
operator konwersji
[operator - metoda] Przeciążanie operatora konwersji w języku C++.Przykład
#include <cstdio>
class CKlasa
{
public:
enum TypDanychT
{
E_TYP1, E_TYP2, E_TYP3
};
operator TypDanychT() const
{
return m_dane;
}
CKlasa( TypDanychT dane )
: m_dane( dane )
{
}
private:
TypDanychT m_dane;
};
void testuj( CKlasa & klasa )
{
switch( klasa )
{
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;
}
}
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
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.