Announcement

Collapse
No announcement yet.

operator überladen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • operator überladen

    Guten Tag Community

    Ich frage mich gerade ob es möglich ist, "[][]" als Operator zu überladen, der mir nachher einen "std::string" zurückgeben kann. Ich hab ein bisschen im internet gesucht, aber nichts gefunden. Aber auch nichts gefunden das es nicht möglich wäre.

    Mein Vorhaben:
    Ich besitze eine Datei in der eine Tabelle mit Meldungen abgelegt ist. Die hole ich mir, und kopier mittels Koordinaten die entsprechende Meldung, die ich an das Programm zurückgebe.


    Die Klasse wird in etwa so aussehen.
    Code:
    class myClass{
    private:
    	int x,y,**piArr;
    	void ErrorMessage(){
    		throw ("Arraydimension false");
    	}
    public:
    	//Eigener Operator definieren mit Überladung
    	//... aber wie? Ausshen etwa so
    	string* opeartor[][](int iX,int iY){
    		//Tabelle aus der Datei holen
    		//Die entsprechende Meldung mit x,y kopieren
    		//Meldung ausgeben
    	}
    	
    	/*Sowas geht problemlos
    	int* operator[](int iX){
    		//...
    	}*/
    	myClass(int iX,int iY){
    		//Initialisieren von x und y
    	}
    	~myClass(){
    		//Array komplett Deleten (vorläufig)
    	}
    }

    Aufrufen würde ich das so
    Code:
    int x=2,y=3;
    
    std::string Msg=Arr[x][y];
    
    
    //Eventuell später (Flag setzen)
    Arr[xx][yy] = Neue Zuweisung einer Meldung;
    Danke

    Freundliche Grüsse

    exc-jdbi
    Zuletzt editiert von Exc-JDBI; 27.11.2014, 14:54.

  • #2
    M.E: sollte std::string Msg[][] funktionieren, so das auf das zusätzliche Array verzichtet werden kann
    Christian

    Comment


    • #3
      ... So weit hab ich noch gar nicht gedacht ... werde es ausprobieren. Danke.

      Anderseits habe ich soeben gesehen, dass es noch die runden Klammern "()" gibt. Die könnte man sicher überladen.

      Freundliche Grüsse

      exc-jdbi

      Comment

      Working...
      X