Seite 1 von 1

[gelöst]Erbung an Klasse QLabel

Verfasst: 15. April 2007 16:19
von mollitz
Hi,
Ich habe eine neue Klasse, MLabel als Subklasse von QLabel erstellt.
Jetzt soll diese Klasse mit einem Parentwidget und einem QPoint instanziiert werden. Die Eigenschaft des QPoint gehört dann natürlich MLabel an.

Mein Ansatz sieht so aus:
Die Klassendeklaration

Code: Alles auswählen

class MLabel : public QLabel
{
	Q_OBJECT
	private:
		int wert; 
		QPoint *point, *from;  
		QPixmap *pillegal, *pfrei, *pbelegt, *paktiv, *prot;
	public:
	    MLabel( QWidget *parent = 0, QPoint *punkt );
	    void setwert(int value); 
	    int getwert();
....
};
	    
Die Definition des Konstruktors:

Code: Alles auswählen

MLabel::MLabel(  QWidget *parent, QPoint *punkt )
  : QLabel( parent ) , point( punkt ) //in diese linie kommt der fehler
{
...
}
und bei dem kommentar kommt folgender fehler:

In constructor `MLabel::MLabel(QWidget*, QPoint*)':
mlabel.cpp:11: error: default argument missing for parameter 2 of `MLabel::MLabel(QWidget*, QPoint*)'

weiss jemand was ich falsch gemacht hab?
(ich arbeite mit win xp+eclipse+cdt+mingw+qt4.1.4

Verfasst: 15. April 2007 16:23
von Volker
Wie der Compiler schon sagt, fehlt das Default Argument für das Argument punkt . Wenn du dafür nicht auch ein Default Wert angeben willst, dann musst du das punkt Argument vor den parent Parameter ziehen

Verfasst: 16. April 2007 14:00
von mollitz
oha!
klingt logisch!!

tut auch! vielen dank
ps: die von c-plusplus.de konnten mir keine antwort geben!