Font
[thread]11568[/thread]

super() in c++?

Readers: 8


<< >> 2 entries, 1 page
pktm
 2008-04-03 14:26
#107798 #107798
User since
2003-08-07
2921 articles
BenutzerIn
[Homepage]
user image
Hallo!

Wie initialisiert man in einem Konstruktor einer Subklasse eigentlich die Superklasse?
In Perl gibt es dafür ja super().

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
murphy
 2008-04-03 16:43
#107810 #107810
User since
2004-07-19
1776 articles
HausmeisterIn
[Homepage]
user image
In C++ existiert das Schlüsselwort super nicht, vermutlich weil es schwierig wäre, bei Klassenhierarchien mit Mehrfachvererbung das Verhalten des Schlüsselwortes sinnvoll zu definieren. Man muss den Namen der Superklasse, die man initialisieren will, also schon explizit angeben – zum Beispiel so:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class A {
private:
const int x;

public:
A(int _x) : x(_x) {
}

inline int getX() const {
return x;
}
} ;

class B : public A {
private:
const int y;

public:
B(int _x, int _y) : A(_x), y(_y) {
}

inline int getY() const {
return y;
}
} ;
When C++ is your hammer, every problem looks like your thumb.
<< >> 2 entries, 1 page



View all threads created 2008-04-03 14:26.