Methode der Basisklasse Aufrufen



  • Hallo.
    Ich habe in meiner Basisklasse eine virtuelle anzeige Funktion. Jetzt möchte ich in meiner abgeleiteten Klasse die Methode der Basisklasse aufrufen. Das klappt aber nicht bin im Moment ratlos warum.

    Hier soweit die Basisklasse und die Implementierung der Anzeige Funktion:

    class Lehrveranstaltungen
    {
    	protected:
    			  char Bezeichnungen[29];
    			  short Raumnummer;
    			  char Uhrzeit[12];
    			  char Wochentag[2];
    
    	   public:
    			  Lehrveranstaltungen();
    			  virtual void Anzeige();
    };
    
    void Lehrveranstaltungen::Anzeige()
    {
    	         cout <<Bezeichnungen <<endl 
    		 <<Wochentag <<" in Raum "<<Raumnummer<<endl
    		 <<"Uhrzeit: "<<Uhrzeit<<endl;
    }
    

    Und hier die Abgeleitete Klasse:

    class Vorlesung : public Lehrveranstaltungen
    {
    	public:
    		   void Anzeige();
    };
    
    void Vorlesung::Anzeige() 
    {
    	Lehrveranstaltungen.Anzeige();
    }
    

    ich denke das ist der relevante Code auszug.

    Fehlermeldung lautet:
    error C2143: Syntaxfehler: Es fehlt ';' vor '.' (und zwar zweimal)

    wäre für jeden tipp sehr dankbar.



  • Du musst den scope angeben

    void Vorlesung::Anzeige() 
    {
        Lehrveranstaltungen::Anzeige();
    }
    


    1. Lehrveranstaltungen::Anzeige();
    2. benutze std::string statt char-arrays


  • oh man

    muss schon zu spät für mich sein 🙄

    vielen dank 🙂

    P.s. unser Prof will Char Arrays also Gehirn aus Aufgabenstellung an ...


Anmelden zum Antworten