Hallo, bin mal wieder an einer kleinen Übungsaufgabe zu C++.
Es geht dabei um die Berechnung von komplexen Zahlen. Dies ist für mein Problem nebensächlich.
Ich bin gerade am Anfang und will testen ob mein Standartkonstruktor funktioniert.
Dazu will ich ihn erzeugen und danach mit print() ausgeben lassen.
Dabei liefert mit Visual Studio 08 folgenden Fehler: Unzulässiger Aufruf einer nicht statischen Memberfunktion (Main.cpp Zeile: 1
Main.cpp
Complex.h
complex.h
Ich hoffe mir kann jemand den Fehler erklären den ich hier mache.
MFG
Es geht dabei um die Berechnung von komplexen Zahlen. Dies ist für mein Problem nebensächlich.
Ich bin gerade am Anfang und will testen ob mein Standartkonstruktor funktioniert.
Dazu will ich ihn erzeugen und danach mit print() ausgeben lassen.
Dabei liefert mit Visual Studio 08 folgenden Fehler: Unzulässiger Aufruf einer nicht statischen Memberfunktion (Main.cpp Zeile: 1
Main.cpp
PHP:
#include <iostream>
#include "Complex.h"
using namespace std;
/*@aurhor: Dominic
* Test der Implementierung: complex
*/
int main(int argc, char* argv[]){
cout << "c1";
//Ruft Standartkonstruktor auf
Complex::Complex();
//Ruft die Printmethode auf,
//hier entsetht der Fehler (in VS 08 C2352)
Complex::print();
return 0;
}
Complex.h
PHP:
#include <iostream>
#include "Complex.h"
#include <math.h>
using namespace std;
Complex::Complex(int realP, int imagP){
this->realPart = realP;
this->imagPart = imagP;
}
void Complex::setImag(int imagP){
this->imagPart = imagP;
}
void Complex::setReal(int realP){
this->realPart = realP;
}
int Complex::getImag(){
return this->imagPart;
}
int Complex::getReal(){
return this->realPart;
}
double Complex::absolutValue(){
return (sqrt((double)(getReal() * getReal())
+(double)(getImag() * getImag())));
}
}
void Complex::print(){
cout << getReal() << " + i " << getImag();
}
complex.h
PHP:
#ifndef __Complex__
#define __Complex__
class Complex {
public:
Complex add(Complex op);
double absolutValue();
int getReal();
int getImag();
void setReal(int realP);
void setImag(int imagP);
//Standartkonstruktor
Complex(){
realPart = 0;
imagPart = 0;
}
Complex(int realP, int imagP);
void print();
private:
int realPart;
int imagPart;
};
#endif
Ich hoffe mir kann jemand den Fehler erklären den ich hier mache.
MFG
Zuletzt bearbeitet: