Problem mit Klasse: Komplexe Zahlen: Fehlermeldung!!!
-
Hallo,
ich bin neu hier. Ich studiere E-Technik und wir machen zur zeit bei C++ Klassen.hier habe ich mir aus dem Skript des Professors ein Biespielcode angeschaut und wollte das Programm abspielen. Aber irgendwie ist da ein Fehler:
#include "stdafx.h" #include <conio.h> #include <math.h> #include <iostream> using namespace std; class COMPLEX { private: float Real, Imag; public: void Read(void) { cin >> Real; cin >> Imag; } float Abs(void) { return sqrt(Real*Real + Imag*Imag); } } COMPLEX [b]Number[/b]; float Result; void main() { Number.Read(); Result = Number.Abs(); cout << Result << "\n"; }Zeile 23: "Number" ist unterstrichen mit dem Fehler "Diese Deklaration hat keine Speicherklasse oder keinen Typenspezifizierung"
Wie soll ich lernen, wenn der Skript fehlerhaft ist? Bitte helft mir! Was stimmt da nicht?
-
Semikolon fehlt.
}; COMPLEX Number;Der Code ist übrigens Mist von vorne bis hinten.
-
TyRoXx schrieb:
Der Code ist übrigens Mist von vorne bis hinten.
Danke!
Sag das den Prof an meiner FH! Der Typ ist von vorne bis hinten verwirrt! Aber er wollte hier den Unterschied zwischen struct und class verdeutlichen.
-
Da mischt jemand C mit C++, oder besser: da infiziert jemand C++ mit C.
Aber ich habe gerade gelesen, dass das im Skript deines Professors steht. Dann kannst du nichts dafür.
gruß
syntax
-
GnuMan2000 schrieb:
Sag das den Prof an meiner FH! Der Typ ist von vorne bis hinten verwirrt! Aber er wollte hier den Unterschied zwischen struct und class verdeutlichen.
Aso! und was ist seines erachtens der Unterschied?

Ich verrats dir: Die Default-Sichtbarkeit.struct foo{ int bar; };bar ist public.
class foo{ int bar; };bar ist private.
gruß
syntax
-
struct und class ist genau das selbe, bis auf die default-Sichtbarkeit. Ich hoffe, dass dein Prof wenigstens das richtig hat.
-
Unterschied ist der: class enthält zusätzlich Funktionen
-
Nö, das ist falsch. structs können auch Funktionen halten.
-
dann muss ich nocht viel lernen, bis 5.7
-
Würde es dir etwas ausmachen, das Script hochzuladen? Will mir das mal ansehen.

-
GnuMan2000 schrieb:
Unterschied ist der: class enthält zusätzlich Funktionen
Memberfunktionen können genau so in einem struct vorhanden sein.
gruß
syntax
-
GnuMan2000 schrieb:
Unterschied ist der: class enthält zusätzlich Funktionen
Dann hat er genau das gesagt, was alle hier befürchtet haben. Sprich: Völliger Unsinn. Kannst du das abbrechen? Falls ja: Tu dir den Gefallen. Falls nein: Durchbeißen, aber hinterher nicht glauben, dass du auch nur irgendwas gelernt hättest. Das dürfte schon bei den Übungsaufgaben klar werden, dass vieles Mist ist, was ihr lernt und deshalb die Programme schwer zu schreiben sind und trotzdem nicht sauber funktionieren.
-
gib mir deine Email-adresse
-
Lads doch einfach irgendwo hoch, ich geb meine Email Addy aus Prinzip nicht her.

Ist ja nicht so, als ob das ein strenggeheimes Script wäre, für dessen Besitz man rechtlich belangt wird, oder so. :p
-
SeppJ schrieb:
GnuMan2000 schrieb:
Unterschied ist der: class enthält zusätzlich Funktionen
Dann hat er genau das gesagt, was alle hier befürchtet haben. Sprich: Völliger Unsinn. Kannst du das abbrechen? Falls ja: Tu dir den Gefallen. Falls nein: Durchbeißen, aber hinterher nicht glauben, dass du auch nur irgendwas gelernt hättest. Das dürfte schon bei den Übungsaufgaben klar werden, dass vieles Mist ist, was ihr lernt und deshalb die Programme schwer zu schreiben sind und trotzdem nicht sauber funktionieren.
In C gibt es soweit ich weiß keine Funktionen in Structs, außer mit F-Pointern. Vielleicht verwechselt der Prof. was.
-
Hier der Skript.
das sind zwei Dateien:http://www.file-upload.net/download-4417126/Kap-1---8-Programmierung.pdf.html
http://www.file-upload.net/download-4417131/Kap-9---20-Programmierung.pdf.html
morgen früh will ich die komplette Analyse (Fehleranalyse, Bewertung, Verbesserungsvorschläge) sehen!!!
:p
-
Autsch. Ein Script, welches mit dem Titel C/C++ anfängt. Noch dazu bei irgendwelchem total uninteressanten Hardwarezeugs.
Ich sollte keine Fehleranalyse machen, sondern eher eine "Korrektheitsanaylse", sprich, alles erwähnen, was richtig und passend ist.
Mein bisheriges Highlight (nach überspringen der lanweiligen Hardwarekapitel) ist, dass der Prof den unären *-Operator als "Umleitung" bezeichnet, und den ->-Operator als "Memberkennzeichnung".

Und er sagt, dass es in C keinen boolschen Typ gibt (soweit richtig), und man in C++ üblicherweise char verwendet. Göttlich!
-
heeey! Etwas Respekt vor dem Professorhttp://www.fh-dortmund.de/de/studi/fb/3/personen/lehr/ley/index.php. Der ist ein netter! seine zwischendurch-Späßen sind zwar veraltet aber er ist kein Schlaftablette-Prof!
-
Damit müsste man sich länger beschäftigen um alle Fehler zu finden.
Und die erste pdf hat überhaupt nichts mit C++ zu tun, alles C (Was nicht schlecht ist, aber sie sollte nie mit C++ vermischt werden).gruß
syntax
-
das heißt aber noch lange nicht, dass das erste Skript fehlerfrei ist...
Es gibt Schlüsselworte (z.B. main)
void main()
und das waren nur wenige Seiten, die ich überflogen habe...