Seite 1 von 1

Funktion aus Klasse A in Klasse B ausfuehren

Verfasst: 17. Oktober 2011 18:47
von QTNeuer
Hallo,

ich bin neu bei Qt (und c++) und braeuchte dringend Hilfe bei folgendem Problem:

Ich habe in einer header datei HA eine Klasse KA und darin eine Funktion AKF() definiert. Diese ist dann in eine .cpp Date definiert.
Nun wuerde ich gerne diese Funktion in einer anderen Klasse KB (Definiert in der Header Datei HB) ausfuehren.

Ich habe das im Prinzip so probiert:

------------------------------------
HA.h
class A {

public:

void AKF();

};
------------------------------------
HA.cpp

void A::AKF() {
......
}

......................................
mainwindow.cpp

#include HA.h

mainwindow::mainwindow(QWidget *parent) ...
{
A::AKF();
....
}

..............................
main.cpp

int main(int argc, char *argv[])
{
QApplication a(argc, argv);;
mainwindow Win;
Win.show();

return a.exec();
}


Dabei wird aber in mainwindow.cpp
die Klasse A nicht erkannt.

Folgender Fehler wird Ausgegeben: mainwindow.cpp(16): error C2352: 'A::AKF(): Unzulässiger Aufruf einer nicht statischen Memberfunktion

Kann mir dabei jemand Helfen?

Danke!

Gruss

Re: Funktion aus Klasse A in Klasse B ausfuehren

Verfasst: 17. Oktober 2011 21:01
von honda71
Hi,

entweder:

mainwindow::mainwindow(QWidget *parent) ...
{
A a;
a.AKF();
....
}


oder die Funktion AKF als static deklarieren:

static void AKF();

Re: Funktion aus Klasse A in Klasse B ausfuehren

Verfasst: 18. Oktober 2011 09:56
von QTNeuer
Super, danke schoen!