Hallo, ich habe eine Klasse CSimpleButton mit einer Membervariablen vom typ const std::string m_sButtonID. Sieht wie folgt aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class CSimpleButton
{
public:
CSimpleButton();
.// ...andere Memberfunktionen
protected:
const std::string m_sButtonID;
};
CSimpleButton::CSimpleButton(const std::string &sButtonID):
m_sButtonID (sButtonID)
{
// ....
}
|
Mein Problem entsteht nun bei der Vererbung; Ich habe eine weitere Klasse CSwitchButton, die von CSimpleButton erben soll, insbesondere ja auch die m_sButtonID;
Wenn ich aber wie oben in der CSwitchButton den Konstruktor wie folgt definiere:
|
C-/C++-Quelltext
|
1
2
3
4
|
CSwitchButton::CSwitchButton(const std::string &sButtonID):
m_sButtonID (sButtonID)
{ //....
}
|
meckert der compiler, dass m_sButtonID kein Member von CSwitchButton sei und auch nicht vererbt wurde. Mit anderen Membervariablen funktioniert es einwandfrei.
da der string const sein soll kann ich das auch nicht anders im Konstruktor übergeben. Gibt es hierfuer eine gute Lösung???
Gruss