Klasse
-
Dann berechne doch den Mittelwert und opfere keine 24 Stunden.
Natürlich ist das in ein paar Minuten möglich, aber daß Du Dich bei uns drüber beschwerst, daß *Du* immer noch keine Lösung hast läßt für mich nur eine Schlußfolgerung zu:Du willst, daß wir Deine Arbeit erledigen.
Und jetzt mal was zum Thema:
Warum willst Du denn eine Klasse programmieren? Ich meine den Mittelwert berechnen, das sieht für mich wie ne astreine Funktion aus. Das in eine Klasse zu verpacken ist völliger Schwachsinn... und das versuchen wir Dir hier die ganze Zeit zu erzählen. Wenn Du eine Funktion schreibst, dann fallen viele Probleme auch gleich weg.
float MittelWert(float * Array, int Size) { float Sum = 0.0f; for(int i=0; i<Size; ++i) { Sum += Array[i]; } return Sum/Size; }
Fertig, Zeit < 5 Minuten, ist doch komisch oder?
MfG Jester
-
hi
Entlich habt ihr die nervenden mekereien abgestellt und kommt zum kern des themas.
Na ja wie auch immer...
Ich möchte meine variablen und methoden schützen.
Sie sollen geschützt sein, vor manipulationen.Deswegen muss ich sie in Klassen schreiben, weil später diese Funktionen in Borland C++ Builder implementiert werden und später erst erfahren werden das es doch sinnvoll war es in klassen zu schreiben.
Gruß
Hans
-
Aber die Variablen in Deinem Code-Beispiel sind doch alle außerhalb der Klasse, wie willst Du sie denn da vor irgendwas schützen?
Die Daten sind offensichtlich frei zugänglich, und ab jetzt kann jeder der will mit Hilfe dieser Funktion und seinen Daten einen Mittelwert berechnen.
Und wie kann man denn bitte eine Funktion manipulieren?Und selbst wenn die Daten irgendwie zu schützen sind, dann ist das nicht Aufgabe einer Klasse, die einen Mittelwert berechnet (sowas macht eigentlich keinen Sinn), sondern Aufgabe irgendeiner Daten-Klasse. Diese wiederum könnte dann eine Methode Mittelwert besitzen.
Ich glaube, Du solltest Deine Nase nochmal in irgendein Buch oder Tutorial stecken wo's um Klassen geht. Schau Dir am besten das Tut vköon Volkard oder das von Shade an. Ich habe das Gefühl, Du hast nicht wirklich verstanden wozu Klassen gut sind und wie man sie einsetzt. Da werden dann auch ein paar nette Beispiele gemacht, dann ist alles gleich viel leichter...
aber das willst Du wahrscheinlich garnicht hören, nicht wahr? Du bist ja Experte auf dem Gebiet.
-
also wenn du mir das Beispiel auf meinem Code ergänzen würdest wäre ihc eine ecke schlauer.
kannst du mir bitte ohne virtual so wie ich es benutze, mit double arrays eine mittelwertberechnung durchführen, wo die Members geschützt sind.
Ich weiss das es mit dem Konstruktot und dekonstruktor geht, aber ich muss mir das mal anschauen.
Bitte !!!
Danke
Gruß
Hans
-
Heino-Hans schrieb:
also wenn du mir das Beispiel auf meinem Code ergänzen würdest wäre ihc eine ecke schlauer.
Nein, das würde Dich nicht schlauer machen. Das Beispiel ist Murks und läßt sich durch ergänzen (außer auskommentieren) auch nicht retten.
Heino-Hans schrieb:
kannst du mir bitte ohne virtual so wie ich es benutze, mit double arrays eine mittelwertberechnung durchführen, wo die Members geschützt sind
Wer redet denn von virtual?
Jetzt auf einmal doubles?
Und wovor willst Du denn irgendwas schützen? Du kriegst die Daten doch von außen? Also gehören sie Dir nicht und Du muß Sie auch nicht schützen.Du solltest Dir erstmal drüber klar werden was Du denn erreichen willst.
Warum willst Du denn unbedingt ne Klasse schreiben, wenn doch eine Funktion vollkommen genügt?MfG Jester
-
Hi
Schafst du heute nocheine Klasse zu schreiben mit die geschützt ist und den Mittelwert berechnet?
Was machst du den gerade bist du Schüler oder machst du eine Ausbildung Arbeitst du ?
Wenn dein Chef sagt machmal machst du erst eine 10 Std. Diskusion oder schreibst du sofort los.
Also wenn du so nett sein wilst dann schreib mal erst.
Ich verstehe nur Hauptbahnhof, weil ich tausen anderer Dinge hier habe.
Ich muss immer wieder überlege private oder public, virtuel nei war es doch double.
Ach leck mich mal
-
Heino-Hans schrieb:
Ach leck mich mal
Danke das war's. Schönen Tag noch.
-
-
Sorry für meinen Ausraster.
Du fragst aber wie dir Krippo
Kannst du auch mal was machen.
Das du diskutieren kannst hast du schon bewiesen.
Gruß
Heino
-
Heino-Hans schrieb:
Schafst du heute nocheine Klasse zu schreiben mit die geschützt ist und den Mittelwert berechnet?
Er schaffts (auch wenns keinen Sinn macht), du anscheinend nicht..
Heino-Hans schrieb:
Wenn dein Chef sagt machmal machst du erst eine 10 Std. Diskusion oder schreibst du sofort los.
Bist du sein Cheff?!?
Heino-Hans schrieb:
Also wenn du so nett sein wilst dann schreib mal erst.
Er ist nett und hat bereits sehr viel geschrieben...
Heino-Hans schrieb:
Ich verstehe nur Hauptbahnhof, weil ich tausen anderer Dinge hier habe.
Dann lerne erstmal etwas vernünftig bevor du mit dem nächsten anfängst
Heino-Hans schrieb:
Ich muss immer wieder überlege private oder public, virtuel nei war es doch double.
watt?
Heino-Hans schrieb:
Ach leck mich mal
lol
-
er hat doch schon viel "gemacht", in dem er dir die richtigen hinweise geliefert hat.
nun bist du am zug.
fertigen quellcode gibt es hier selten, nur hilfe, wenn einer an einem bestimmten stück nicht weiterkommt.
also fang an
-
Hallo
Members SOS Schliesst hier diesen Beitrag bevor die hier weiter diskutieren.
Das ist ja wie hin gekackt und hingeschissen.Gruß
-
Kannst du auch mal was machen.
lol, was glaubst du bringt dir das wenn dir jemand den Code schreibt? Du hast nun mal keine Ahnung von C++, wie man deutlich sieht. So stehst du nur vor Code und kapierst überhaupt nicht, was er warum macht. Lies dir doch mal ein vernünftiges C++ Anfänger Buch durch, anstelle irgend wo rumzupöbeln. Das Forum ist ja keine Code-Fabrik, wo du sagst, schreibt mir mal das und das. Wenn du das so haben willst, dann musst du Geld zahlen. Gibt genug Freelancer, die dir gerne eine Median-Berechnung schreiben
und vor dem posten in irgend welchen Foren solltest du lieber das lesen, anstelle rumzupöbeln.
http://www.catb.org/~esr/faqs/smart-questions.html
-
mann mann... hans
ausdrücke hast du.... tststs..
halt dich an den ratschlag: zeig, was du fertig hast, definiere, wo dein problem ist, dann wird dir sicher geholfen... und lass deine hinscheissereien
-
#define PROTECT #define UNPROTECT(x) #define ENSUREPROTECTION(x) PROTECT float MittelWert(const float * Array, int Size) { PROTECT float Sum UNPROTECT(Sum) = ENSUREPROTECTION(Sum) 0.0f; // die Summe nur für die Zuweisung kurz ungeschützt lassen for(int i=0; i<Size; ++i) { Sum UNPROTECT(Sum)+=ENSUREPROTECTION(Sum) Array[i]; // wie oben für die Addtion kurz Zugriff zulassen } return Sum/Size; }
i und den Rückgabewert kannst Du dann nach selbem Schema selbst absichern.
Dann hast Du die Funktion vollständig geschützt!SCNR
-
Du hast vergessen, den Rückgabewert zu UNPROTECTen!