Beiträge von sauzachn

    ich bin mir jetzt nicht sicher ob es in c++ auch so ist aber eine struct kann zudem auch keinen default konstruktor sondern nur parametrisierte konstruktoren haben


    Doch, eine struct und eine class sind in C++ exakt dasselbe, bis auf den Unterschied mit dem Defaultzugriff.

    Das Beispiel

    Code
    struct Test {
     Test() { }
    };


    compiliert anstandslos (auch wenn das kein formaler Beweis ist).

    1. Sourcecode in DOC-Dateien hergeben ist böse. Abgesehen, dass das fast schon einen negativen Geek-Faktor hat, muss man es erst mal rauskopieren, um es compilieren zu können.

    2. Ich zitiere aus dem Source: //"eigentlich ist ein struct eine Klasse mit nur oeffentlichen members"
    Stimmt nicht. Nur der _Defaultzugriff_ ist public. Du kannst sehr wohl z.b. auch "private: int i;" reinschreiben.

    3. ad 10.2: Ausgabe ist trivial. Eingabe: Einen Miniparser schreiben: Auf [ matchen. Dann Zahl als String einlesen, bis ',' erreicht wird. Zahl in Integer umwandeln und an die Liste anhängen. Weiter, bis ] erreicht ist. Und natürlich dazwischen immer auf ungültige Zeichen checken.

    Mir ist nicht ganz klar, was du wirklich tun willst: Willst du die Datei in dein Programm einlesen oder willst du etwas in die Datei ausgeben? Deine Frage lässt beide Interpretationen zu...

    Einlesen der Datei erfolgt z.b. mit fgetc, fgets bzw. fread.
    Ausgabe in die Datei: z.b. fputc, fputs bzw. fwrite.
    Siehe die jeweiligen Manpages oder ein C-Buch.

    Wenn du in die Datei schreiben willst, kannst du nicht "r" verwenden (da das für "read" steht), sondern z.b. "w" (write) oder "a" (append).

    Wer über den Tod eines anderen Menschen erfreut ist, ist kein Humanist. Wer kein Humanist ist, ist nicht geeignet, eine Asyl-NGO zu leiten. Daher: Rücktritt, um zumindest sein Gesicht zu wahren. So einfach ist das in meinen Augen.

    Dumm ist, wer nicht zwischen Amt und Person unterscheiden kann. Politisch naiv ist, wer glaubt, dass sich durch die Person das Amt ändert.

    Ich habe denen am Dienstag eine Email geschrieben, dass sie den Schwachsinn entfernen sollen, aber bezeichnenderweise keinerlei Antwort bekommen.

    Der Standard schreibt heute, dass jemand den Typen angezeigt hat: Richtig so.

    Jensi: Halt die Luft an... und bleib in diesem Zustand.

    mnemetz: Zumindest einer, der lesen kann.


    Hellsmurf, wenn du nichts mehr zum Thema zu sagen hast und nur beleidigend wirst (nein, eigentlich bleibst), dann sei lieber ganz ruhig.

    Ich kann dir jedenfalls sagen: Du hast dir im Forum schon bei genügend Leuten Antipathien eingebracht. Solltest du mal ein Problem haben (falls du noch zum Studieren kommst neben dem Flamen), zu dem ich eine Lösung weiß, werde ich dir sicher nicht mehr helfen.

    Ich wär dafür, dass ein Moderator den Thread schließt, da ohnehin schon längst alles gesagt wurde.

    Lies mal meine Signatur... btw.


    So ist es umso bedauerlicher, wenn das System hat und nicht nur ein einmaliger Ausrutscher war. Was ist so schlimm daran, "nicht qualifizierte Frauen" anstatt "blöde Weiber" zu verwenden?

    Was soll denn es denn sonst heißen? Es bewirbt sich keine -> Nochmals ausschreiben... und eine fixe Frauenquote sagt nix anderes als: "Egal wie dumm die Bewerberin ist, sie wird genommen um die Quote zu erfüllen."


    Nein, das hast du offenbar trotz mehrmaligen Vorkauens noch immer nicht verstanden (möglicherweise auf _deine_ Deutschschwäche zurückzuführen): Es geht nur darum, dass sich eine Frau bewirbt. Ist sie schlechter qualifiziert als ein sich bewerbender Mann, wird sie selbstverständlich nicht genommen. Noch einmal: Es geht rein um die Bewerbung.

    Mal davon abgesehen weiß ich nicht, wie Du jetzt auf mein Frauenbild kommst.
    Leidest Du etwa unter einer Deutschschwäche?


    Das muss ich mir von jemandem, der nicht imstande ist, sinnerfassend zu lesen (siehe oben), nicht vorwerfen lassen.

    Und ja die Welt ist gemein und ungerecht. Ich bin auch ganz pöse weil ich mich soooo unartig ausdrücke


    "Böse" ist ein Wort, das mir in dem Zusammenhang erst relativ spät einfällt.

    Egal wie blöd die Weiber sind.


    Kann man das nicht auch etwas anders ausdrücken? So klingt das schon sehr derb. Ich will mir dein Frauenbild gar nicht vorstellen, hellsmurf.

    Abgesehen davon geht es nicht darum, eine "blödere" Frau zu nehmen, sondern dass sich überhaupt eine bewirbt. Wenn die schlechter ist als der Mann, dann wird sie natürlich nicht genommen (das wäre schließlich auch nicht fair).

    In der Regel ist man immer elektrostatisch aufgeladen. Das Papier auch.
    Vorallem wenn die Luft, besonders im Winter, relativ trocken ist.
    Da kommt es natürlich zu Interaktionen zwischen den einzelnen elektrostatischen Feldern.


    Ich habe auch daran gedacht. Ich halte es aber für eher unwahrscheinlich, wenn das Plastik dazwischensteht, da das als Entkopplung der E-Felder sicher ziemlich gut wirkt.

    Zwei Dinge, die man probieren kann:
    1. Heizkörper/Wasserhahn-Metall o.ä. angreifen, damit man entladen wird (so wie man es auch tun würde, wenn man einen Computerchip einbaut).
    2. Statt Plastik Glasgefäß nehmen. Evt. mehrere Dicken ausprobieren, ob es Unterschiede in der Bewegung gibt.

    dachte mir das der Mensch auf Alu Kräfte auswirkt


    Ja, wenn du aufs Rad sitzt.

    Ich warte sehr gespannt auf das Video.

    Aus der Sicht des Physikers kann ich nur beitragen, mal zuerst das Phänomen genau einzugrenzen und systematische Fehler im Experiment auszuschließen.

    * Bodenerschütterungen kann man recht gut durch Dämpfung der Auflagefläche ausschließen. Also z.b. das ganze auf etwas weiches relativ dickes legen. Auch ein paar Mal mit dem Fuß auf div. Stellen am Boden aufstampfen und sehen ob sich was tut.

    * Sich versichern dass das Zeugs wirklich gerade steht (z.b. Wasserwaage).

    * Ist die Auflage des Papiers auf der Spitze wirklich konzentrisch? Abmessen. Evt. auch mal mit anderen (schwereren) Materialien probieren.

    * Ist die Drehung immer gleich? Oder ändert sich die Geschwindigkeit? Dreht es noch etwas nach, wenn du aufhörst zu gehen? Was passiert wenn du ganz herum gehst? Dreht es sich immer mit dir mit oder nur bis zu einem gewissen Punkt.

    * Mach den Versuch mit verschiedenen Menschen, etwas leichter, etwas schwerer. Zieht verschiedene Schuhe an (z.b. Filzpantoffeln vs. Stiefel).

    Das fällt mir mal so fürs erste ein.

    Florian: Sollte man das char[] nicht mit \0 abschließen, bevor man es als char* behandelt? Die Manpage von atoi spricht von der "initial portion of the string", daher funktioniert es wahrscheinlich so, wie du es gemacht hast - außer es befindet sich hinter dem Array zufällig eine Zahl im Speicher - die wird dann mitkonvertiert! Das ist aber nur eine Vermutung.

    schläfer: Bitte um ein genaues Beispiel, bevor wir hier rumraten. Was hast du schon probiert, welche Fehler sind aufgetreten?

    du hast cyclic dependencies drin, das kann nicht funktionieren. du musst eine der beiden klassen in einem der beiden header forward deklarieren (z.b. mit class A;). google mal nach "forward declaration".


    Macht er aber in dem Fall eh - durch Einbindung der Headerdateien. Nur wenn A.h resp. B.h _nicht_ eingebunden werden sollen, muss man "class X" forward deklarieren.

    Wie immer bitte ich um ein vollständiges Programm, da mir zumindest auf den ersten Blick in der main() Funktion gleich mal Dinge auffallen, die sicher nicht compilieren können.

    Und die Fehlermeldung wäre auch interessant!

    ja klar kann man x*x, y*y etc elementweise 2 vektoren multiplizieren aber soweit ich weiß ist das nirgends standardisiert dass v1*v2 gerechent wird indem v3.x = v1.x * v2.x usw oder?


    Naja, für verschiedene Vektorräume ist es schon unterschiedlich. Aber im R^n macht man das Skalarprodukt so.
    In anderen Prähilberträumen kann <v1,v2> wieder ganz anders aussehen. Es muss nur gewissen Axiomen gehorchen.

    ich würd auch referenzen nehmen weil man mit denen besser arbeiten kann aber wieso meinst du er sollte sie jetzt statt den pointern hier verwenden, im endeffekt ist es ja fast dasselbe


    Nein, es gibt ein paar Unterschiede. Das wichtigste ist, dass du mit Referenzen nicht so viel Blödsinn machen kannst. Z.b. kannst du einen Zeiger ohne Weiteres umbiegen, eine Referenz aber nicht mehr, nachdem sie einmal worauf "zeigt". Das ist genau das, was man bei Funktionsparametern in 99.9% der Fälle will.

    Eine genauere ausführliche Begründung steht glaub ich im Meyers, wenn ich mich richtig erinnere.

    aber auch statische funktionen in der form von denen da oben die nen neuen vektor liefern die in vielen situationen auch nützlich sind


    Nützlich: ja natürlich. OO: Nein. Es sind nix Anderes als globale Funktionen. Du kannst sie gleich außerhalb der Klasse schreiben.

    hal: und welche Sprache befriedigt dich dann eher wenn man fragen daf.


    Ich kann für mich antworten, dass Eiffel eine in Punkto OO, Sauberkeit und Einfachheit sehr befriedigende Sprache ist.

    btw: Die C++ Casts gibt es aus mehreren Gründen:
    1. Es soll expliziter gesagt werden, welche Cast-Art man meint.
    2. Besseres Fehlerhandling, wenn der Cast nicht hinhaut.
    3. Die C-Casts kann man mit grep o.ä. nur extrem schwer bis gar nicht aus dem Code extrahieren. Dagegen ist das Greppen der C++ Casts trivial.
    4. Die Namen für die Casts sind bewusst lange gewählt, damit man sie weniger einsetzt. Casts sind nämlich oft mißbraucht worden.

    xxyy: Warum verwendest du in den Parametern Zeiger? Wenn du schon in C++ bist, drängen sich dafür Referenzen geradezu auf. Beispiel:

    Code
    Vector add(const Vektor& v1,const Vektor& v2);


    Wobei man das in OO-Sprachen eigentlich nicht so schreibt! Der Vektor, zu dem man addiert, sollte der durch die aktuelle Instanz festgelegte sein (also v2 weglassen und v1 zum aktuellen Vektor addieren). Das, was du machst, ist Java-Library-Stil, hat aber mit OO nix zu tun.

    ich mach casts nie mit <> sondern ausschließlich mit (type *) - die <> notation ist mir ehrlich gesagt noch nie untergekommen - vl. reden wir jedoch von verschiedenen c++ dialekten..!?


    Die (Typ*) Schreibweise ist die C-Schreibweise. Die <> Notation ist C++ - das hat mit dem Dialekt nix zu tun, das ist im ISO98-C++-Standard. Und mit "static T" hat das schon gar nix zu tun. Das heißt einfach nur so im Unterschied zum dynamic_cast, const_cast und reinterpret_cast. Die haben alle ganz bestimmte Aufgaben (Z.B. dynamic_cast verwendet man üblicherweise, um Objekte in der Vererbungshierarchie hinunterzucasten (zu probieren)). Ein static_cast ist - vereinfacht gesagt - der Cast, der den C-Cast in fast allen Fällen ersetzen kann.