Fehler mein Ausführen des Programmes



  • Hallo

    die Fehlermeldungen sind doch eindeutig.
    Du kannst über einen Zeiger vom Typ elektro nicht auf Elemente zugreifen, die erst der Klasse computer angehören.

    Desweiteren hast du zwar einen Zeiger vom Typ elektro, du erstellst aber nirgends eine gültige Instanz, nachdem der User die Auswahl getroffen hat.

    bis bald
    akari



  • GAR NICHT WEITERGEHOLFEN.....................

    ICH KOMME NICHT WEITER MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN !!!!

    ICH BIN DOOOOOOOOOOF deshalb so helfen

    das ich es einfach einfügen sollll............ maannnnnnnnnnnn

    BITTTTTTE ICH KOMME HIER NICHT KLAR ::: !



  • HEY HO,
    das würde mich aber auch interessieren, wie man das machen sollten.
    Könnte es jemand evtl. richtig stellen?



  • #include <string.h>
    #include <iostream.h>
    #include "elektro.h"
    
    int main()
    {
    	int auswahl;
    	float geschw;
    	int grafikram;
    
    	elektro *e_zeiger=new computer;
    	elektro *e_zeiger2=new elektro;
    	computer *c_zeiger=dynamic_cast<elektro*>(e_zeiger);
    
    	cout << "Waehle zwischen 1 und 2: " << endl;
    	cin >> auswahl;
    
    	switch(auswahl)
    	{
    	case 1:e_zeiger = new elektro;
    
    	cout << "Gib Geschw ein: " << endl;
    	cin >> geschw;
    
    	e_zeiger->setGeschwindigkeit(geschw);
    
    	cout << "Geschwindigkeit ist " << e_zeiger->getGeschwindigkeit() <<endl;
    
    	break;
    
    	case 2:c_zeiger = new computer;
    
    	cout << "Grafikspeischer eingeben " << endl;
    	cin >> grafikram;
    
    	c_zeiger->setGrafikspeicher(grafikram);
    
    	cout << "Grafikspeicher " << c_zeiger->getGrafikspeicher() << endl;
    
    	}
    
    	return 0;
    }
    

    Ich habe das jetzt so gemacht , aber der sagt mir aus,,, das ich immer noch irgenwdelche fehler habeeeeeeeeeeeeeeeeeeeeeeeeeeeee..

    son scheiß

    --------------------Konfiguration: elektro - Win32 Debug--------------------
    Kompilierung läuft...
    main.cpp
    C:\Dokumente und Einstellungen\Robtschick\Desktop\uebung\elektro\main.cpp(15) : warning C4541: 'dynamic_cast' fuer polymorphen Typ 'class elektro' mit /GR- verwendet; unvorhersehbares Verhalten moeglich
    C:\Dokumente und Einstellungen\Robtschick\Desktop\uebung\elektro\main.cpp(15) : error C2440: 'initializing' : 'class elektro *' kann nicht in 'class computer *' konvertiert werden
    Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    Fehler beim Ausführen von cl.exe.

    elektro.exe - 1 Fehler, 1 Warnung(en)

    BITTE SO HELFEN DAS ICH ES EINSETZTEN KANNN PLS !!!!



  • #include <string.h>
    #include <iostream.h>
    #include "elektro.h"
    
    int main()
    {
    	int auswahl;
    	float geschw;
    	int grafikram;
    
    	elektro *e_zeiger=new computer;
    	elektro *e_zeiger2=new elektro;
    	computer *c_zeiger=dynamic_cast<elektro*>(e_zeiger);
    
    	cout << "Waehle zwischen 1 und 2: " << endl;
    	cin >> auswahl;
    
    	switch(auswahl)
    	{
    	case 1:e_zeiger = new elektro;
    
    	cout << "Gib Geschw ein: " << endl;
    	cin >> geschw;
    
    	e_zeiger->setGeschwindigkeit(geschw);
    
    	cout << "Geschwindigkeit ist " << e_zeiger->getGeschwindigkeit() <<endl;
    
    	break;
    
    	case 2:c_zeiger = new computer;
    
    	cout << "Grafikspeischer eingeben " << endl;
    	cin >> grafikram;
    
    	c_zeiger->setGrafikspeicher(grafikram);
    
    	cout << "Grafikspeicher " << c_zeiger->getGrafikspeicher() << endl;
    
    	}
    
    	return 0;
    }
    

    Ich habe das jetzt so gemacht , aber der sagt mir aus,,, das ich immer noch irgenwdelche fehler habeeeeeeeeeeeeeeeeeeeeeeeeeeeee..

    son scheiß

    --------------------Konfiguration: elektro - Win32 Debug--------------------
    Kompilierung läuft...
    main.cpp
    C:\Dokumente und Einstellungen\Robtschick\Desktop\uebung\elektro\main.cpp(15) : warning C4541: 'dynamic_cast' fuer polymorphen Typ 'class elektro' mit /GR- verwendet; unvorhersehbares Verhalten moeglich
    C:\Dokumente und Einstellungen\Robtschick\Desktop\uebung\elektro\main.cpp(15) : error C2440: 'initializing' : 'class elektro *' kann nicht in 'class computer *' konvertiert werden
    Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    Fehler beim Ausführen von cl.exe.

    elektro.exe - 1 Fehler, 1 Warnung(en)

    BITTE SO HELFEN DAS ICH ES EINSETZTEN KANNN PLS !!!!



  • Kann mir nicht jemand per icq helfen oder so ???

    146289675



  • Robtschick schrieb:

    C:\Dokumente und Einstellungen\Robtschick\Desktop\uebung\elektro\main.cpp(15) : error C2440: 'initializing' : 'class elektro *' kann nicht in 'class computer *' konvertiert werden
    Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat

    Da steht doch eh schon was du machen sollst. Lies dir mal ein Grundlagen Turorial zu OOP durch...

    BITTE SO HELFEN DAS ICH ES EINSETZTEN KANNN PLS !!!!

    Und der Sinn des Ganzen?



  • DU schlaukopf , sag es du mir doch mal biiiiiiiiiiiiiiittttte,

    ich gehe hier noch kaputt mit diesem behinderten missgeburten c++ programm
    ich hasse das wie die hölle und ihr quelt mich hier.........

    verate mir doch mein fehler.. oder seit ihr genauso bekloptt wie ich ?!

    ICH VERSTEHE DIESEN UNSINN VON PROGRAMIERUNG NICHT....................

    also schreib mir doch jemand mal eine lösung ...............



  • Wenn du es wie die Hölle hast warum lässt du es nicht einfach?
    Und ich bin mir sicher dass dir jetzt mehr Leute helfen wollen. Und wir wollen helfen, aber du musst dich schon einbringen.



  • Ich freue mich ja auch auf jede antwort, aber ich verstehe das einfach nicht, weil die das nicht in der schule hatten,
    und ich dieses dynamic_cast das erste mal gehört habe.. ich habe auch alles gelsen darüber
    es gibt eins das ist das von unterklassen zu oberklassen von oberklassen zu unterklasse vererben... aber man sollte es im seltenen falle tun... aber keiner sagt mir eine andere möglichkeit.. wie mache ich es denn mit diesen virtuellen dingern ?


Anmelden zum Antworten