Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

C++: Standardwerte für Parameter bei abgeleiteter Klasse

Yves3 / 2 Antworten / Baumansicht Nickles

Hallo

Ich habe eine Basisklasse, von der ich eine Klasse ableite. Eine Funktion aus der abgeleiteten Klasse soll andere Standardparameter haben als die Funktion der Basisklasse, ansonsten aber identisch sein.

Also beispielsweise:
void BaseClass::Open(int x=1, int y=2);
void DerivedClass::Open(int x=2, int y=4);

Wie kann ich das lösen?

bei Antwort benachrichtigen
mr.escape Yves3 „C++: Standardwerte für Parameter bei abgeleiteter Klasse“
Optionen
Re: C++: Standardwerte für Parameter bei abgeleiteter Klasse ............................................................
Indem du die default parameter in die deklaration packst.
#include <iostream.h>

class BaseClass {
public:
    void Open(int x=1, int y=2){// <- hier!
        cout << x << " " << y << endl;
    }
};

class DerivedClass : BaseClass {
public:
    void Open(int x=2, int y=4){// <- und hier!
        BaseClass::Open(x, y);
    }
};

int main(int argc, char* argv[])
{
    BaseClass b;
    DerivedClass d;
    b.Open();
    d.Open();
    return 0;
}


mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Yves3 mr.escape „Re: C : Standardwerte für Parameter bei...“
Optionen

Super, vielen Dank!
Funktioniert! :)

bei Antwort benachrichtigen