Funktion aus Klasse A in Klasse B ausfuehren

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
QTNeuer
Beiträge: 14
Registriert: 17. Oktober 2011 17:54

Funktion aus Klasse A in Klasse B ausfuehren

Beitrag 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
honda71
Beiträge: 49
Registriert: 12. Juli 2006 16:16

Re: Funktion aus Klasse A in Klasse B ausfuehren

Beitrag von honda71 »

Hi,

entweder:

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


oder die Funktion AKF als static deklarieren:

static void AKF();
QTNeuer
Beiträge: 14
Registriert: 17. Oktober 2011 17:54

Re: Funktion aus Klasse A in Klasse B ausfuehren

Beitrag von QTNeuer »

Super, danke schoen!
Antworten