I habe, und würde eine in meiner abgeleiteten Klasse initialisieren mag reagiert, mit anderem Wert (als Parameter genommen), ist dies möglich?C++ Initialisiere die Basisklasse 'const int in der abgeleiteten Klasse? eine Konstante int Variable in meiner Basisklasse
Hier ist, was ich getan habe:
// Base.h (methods implemented in Base.cpp in the actual code)
class Base {
public:
Base(const int index) : m_index(index) {}
int getIndex() const { return m_index; }
private:
const int m_index;
};
// Derived.h
class Derived : public Base {
public:
Derived(const int index, const std::string name) : m_name(name) {}
void setName(const std::string name) { m_name = name; }
std::string getName() const { return m_name; }
private:
std::string m_name;
};
Aber natürlich ist es mir für Base::Base()
zu fragen, die nicht vorhanden ist, und wenn ich sie definiere, werde ich Standardwert für m_index
geben, die ich nicht tun möchte tun. Muss ich const int m_index
separat in jeder abgeleiteten Klasse definieren?
Similiar Frage, aber ich bin nicht sicher, ob die statische dies in irgendeiner Weise beeinflusst: C++ : Initializing base class constant static variable with different value in derived class?
WAS?!? Ich mache C++ seit 3 bis 4 Jahren oder so, und ich bin noch nie dazu gekommen? Ich habe immer gedacht, dass ich den Standard-Konstruktor verwenden muss ... Danke, du wirst es in einer Minute akzeptieren. –