Sichtbarkeit von Objekten in switch-Anweisung



  • Das erste new ist in der Tat unnütz...ist mir heute auch in den Sinn gekommen. Danke für den Hinweis.
    Das etwas Verwirrende an meinem Code ist: so wie er da steht ist das new überflüssig. Allerdings soll das Programm später zur Laufzeit Objekte erstellen, die von dem Benutzer geändert werden können, ebend durch das Menü (ifm Objekt).
    Wenn ich das eichtig gelesen habe, dann ist die einzige Alternative zu Pointer eine Referenz oder?
    Dann werde ich als erstes mal die Pointer aus dem Code verbannen. Mit Typedef und den smart_pointern habe ich mich noch nicht beschäftigt. Ich denke von der Benutzung der STL/Boost bin ich auch noch ein Stück entfernt, mal abgesehen von vector vielleicht 😉

    mkG Nas

    Edit: mein Lösung bis jetzt, ohne new und ohne Pointer
    Danke für die Hilfestellungen!

    //main.cpp
    #include <vector>
    #include <iostream>
    #include "interface.h"
    #include "einheiten.h"
    
    using namespace std;
    
    int main(void)
    {
    	InterfaceMenue ifm;
    	vector<Einheit> vEinh;
    
    	while (true)
    	{
    	switch (ifm.start()) // Objektmethode gibt einen Int-Wert zurück
    	{
    	case 1:
    		cout << "Eingabe war 1\n";
    		if (ifm.erstellen() == 1) // Nach Benutzereingabe werden die Objekte erstellt
    		{
    			vEinh.push_back(Einheit::Einheit());	// neues Objekt wird in den vector eingefügt
    		} else
    			ifm.start();
    		break;
    	case 2:
    		{
    		cout << "Eingabe war 2\n"; 
    		for (size_t i = 0; i < vEinh.size(); i++)
    		{
    			ifm.status(vEinh[i]); 		// Hier soll der Status des Objekts ausgegeben werden
    		}
    		break;
    		}
    	case 3:
    		{
    		cout << "Eingabe war 3\n";
    		break;
    		}
    	case 4:
    		{
    		cout << "Eingabe war 4\n";
    		break;
    		}
    	case 5:
    		{
    		cout << "Eingabe war 5\n";
    		exit(1);
    		}
    	}
    	}
    	cin.get();
    	return 0;
    }
    

Anmelden zum Antworten