Methoden überladen



  • Hi,

    ich habe eine Klasse mit einer Methode, die ich 4x überladen habe.

    Durch Aufruf dieser Methode will ich Werte des Typs float, int oder CString aus der eigenen Klasse je nach Gebrauch zurückgeben.

    Das funktioniert soweit gut. Wenn ich jedoch damit einen float-Wert einer anderen Klasse als String zurückgeben will, ist er leer. Warum?

    Im Output sehe ich nur: "Mein Rückgabewert: ", aber keinen Wert!!!?!

    // Definition MeineKlasseA
    CString CMeineKlasseA::GetWert(float fWert)
    {	
    	CString sText ="";
    	sText.Format("%.1f", fWert);
    
    	return sText;
    }
    CString CMeineKlasseA::GetWert(int iWert)
    {	
    	CString sText ="";
    	sText.Format("%d", iWert);
    
    	return sText;
    }
    int CMeineKlasseA::GetWert(CString sWert)
    {	
    	int iWert = 0;
    	iWert = atoi(sWert);
    
    	return iWert;
    }
    float CMeineKlasseA::GetWert(CString sWert, BOOL bIstDouble)
    {	
    	//  bIstDouble ist nur als Dummy wegen 4. Überladung
    	float fWert = 0;
    	fWert = atof(sWert);
    
    	return fWert;
    }
    
    // .cpp MeineKlasseB
    void CMEINPROGRAMMDlg::OnBUTTON_A() 
    {
       UpdateData(TRUE);
       CMeineKlasseA A;
    
       m_sText = m_sText + "Mein Rückgabewert: " + A.GetWert(this->m_fWertVonKlasseB, TRUE) + "\r\n";	
       UpdateData(FALSE);
    }
    


  • Okey, es hat sich erledigt. Vielleicht mal Pause machen für heute 😡


Log in to reply