====== Ruf einer überladenen Methode mittels using ====== ===== Codebeispiel ===== #include "stdio.h" #include "string.h" #include "stdlib.h" class Tier { public: char Name[64]; int Fellfarbe; int KrallenLaenge; int AnzahlBeine; inline void GibNamenAus( void ) { printf( "Ich heiße %s\n", Name ); } Tier( char const * name, int fellfarbe, int krallenLaenge, int beine ) : Fellfarbe( fellfarbe ) , KrallenLaenge( krallenLaenge ) , AnzahlBeine( beine ) { int laenge = strlen( name ); if( laenge > 63 ) laenge = 63; memcpy( Name, name, laenge ); Name[ laenge ] = '\0'; } }; class Hund : public Tier { public: int GefangeneKatzen; inline void GibLaut( void ) { printf( "Wau!\n" ); } using Tier::GibNamenAus; inline void GibNamenAus( char const * familyName ) { printf( "Ich heiße %s %s\n", Name, familyName ); } Hund( char const * name, int fellFarbe, int krallenLaenge, int gefangeneKatzen ) : Tier( name, fellFarbe, krallenLaenge, 4 /* <- Beine */ ) // Basiskonstruktor für die Klasse Tier , GefangeneKatzen( gefangeneKatzen ) {} }; int main( void ) { Hund harry( "Harry", 0x000000 /* Farbe */, 2 /* Krallenlaenge */, 4 /* gefangene Katzen */ ); harry.GibNamenAus(); return EXIT_SUCCESS; }