Du hast in 2 Jahren als Freelancer einen dreistelligen Betrag verdient? Lebst du von Luft und Liebe? :)

Mach auf jeden Fall weiter FOSS! Ich hab vor 2 Wochen erst wieder eine Spende über 1000€ erhalten. Such dir ne Nische, und schreibe die beste Software der Welt zu diesem Thema!

Das muss nicht mal viel Code sein. Eine meiner Softwaren hat nur rund 700 LoCs und die bringt mir allein pro Monat 100€ bis 300€ an Spenden!

Viel Erfolg, und lass dir deine Idee nicht mopsen, falls du CS gehen willst! :)

...zur Antwort

12 bis 18 Lagen normale Baumwolle, evtl. mit einer Lage Seide dazwischen schützt ähnlich gut wie FFP2 und bei gutem Sitz zu 98% auch den Träger selbst vor Aerosolen und Tröpfchen:

https://www.spektrum.de/news/spaete-kehrtwende/1743228

...zur Antwort

𝔇𝔦𝔢𝔰𝔢 𝔅𝔲𝔠𝔥𝔰𝔱𝔞𝔟𝔢𝔫 𝔰𝔦𝔫𝔡 𝔢𝔦𝔫𝔣𝔞𝔠𝔥 𝔫𝔲𝔯 𝔞𝔲𝔰 𝔅𝔩𝔬𝔠𝔨𝔷𝔢𝔦𝔠𝔥𝔢𝔫 𝔷𝔲𝔰𝔞𝔪𝔪𝔢𝔫 𝔤𝔢𝔰𝔢𝔱𝔷𝔱.

...zur Antwort

Normalerweise Member und Methodensignaturen.

Es reicht aber auch folgender Inhalt völlig aus, was man oft in Bibliothekscode findet:

class MeineKlasse;
MeineKlasse * erzeuge_objekt();

Dieser "Trick" wird oft angewendet, wenn der Hersteller komplett verbergen will, wie die Objekte intern eigentlich aufgebaut sind, und welche Methoden es überhaupt gibt.

(Siehe dazu meine Antwort auf deine andere Frage.)

Falls dich Details interessieren, google mal nach "Vorwärtsdeklaration", "opaque pointer" und "pimpl".

...zur Antwort

Erst den Header "includen". Danach ganz normal deklarieren:

#include "mein_header.hpp"

// ...

MeineKlasse mein_objekt;

Ansonsten deklarierst du Opaque-Zeiger, falls du wirklich gar keinen Zugriff auf die Definition der Klasse Zugriff hast:

#include "mein_helper.hpp"

// im Header steht Folgendes:
// class MeinObjekt; <= Vorwärtsdeklaration
// class MeinObjekt * make_object(); <= Erzeugerfunktion

MeineKlasse * mein_zeiger { make_object() };

Das geht natürlich auch mit Referenzen und findet normalerweise im Pimpl-Idiom Verwendung.

Aber normalerweise hast du eine ordentliche Headerdatei und bei fertigen Bibliotheken von Drittanbietern eine statisch- oder meist dynamisch-kompilierte Datei zum Linken (meist DLLs, SOs, As. LIBs, seltener Os oder OBJs).

...zur Antwort

Google mal nach SAT und AABB.

Das sind so die gängigsten Verfahren.

Es geht alllerdings noch viel viel viel effizienter und auch einfacher, aber das habe ich mir selbst ausgedacht. :)

Überlege dir einfach, wie du zwei beliebig gedrehte und gestreckte Polygone auf Kollision prüfen könntest. SAT und AABB sind hierbei wirklich nicht so dolle, vor allem im Hinblick auf Performance.

...zur Antwort

Das JDK enthâlt eine src.zip in der alle Klassen im Quelltext vorliegen.

Die gängigen IDEs greifen mit ihrer Deklarationsansicht auch immer auf den Inhalt dieses Archivs zu.

...zur Antwort

Ich hab den Standardnutzer umbenannt und Rechte weggenommen.

Für privilegierte Sachen logge ich mich als root ein und verzichte grundsätzlich auf sudo.

...zur Antwort

imports mit Stern sind generell schlecht. Schreibe am besten alle Klassen aus, die du wirklich nutzen willst.

Und Anstelle einer Map würde ich ein Set nehmen. Dann ist die Sache mit dem Zählen in der Schleife und dem Exceptionhandling erledigt.

Ausnahmen sollten grundsätzlich nur in Ausnahmefällen und nicht als reguläre Programmiertechnik eingesetzt werden. Intern ist der Aufwand fürs werfen und fangen von Ausnahmen enorm, also am besten nur für "richtige" Fehler nutzen,

Alles in Allem schrumpft deine gesamte Methode z. B. mit einem TreeSet auf ganze 3 sehr saubere Zeilen.

Und wenn du es modern haben willst, gibt es ab Java 8 die Möglichkeit mit Streams, was dann insgesamt nur noch eine einzige Zeile lang sein wird!

So, jetzt weißt du, wonach du googeln musst. ;)

...zur Antwort

Das ist unmöglich, aber du kannst die Batch-Datei mit einem Wrapper in eine EXE-Datei verpacken.

Das ist zwar Igittipfui und die meisten Antivirensoftwaren werden hyperventilieren, aber grundsätzlich sollte das funktionieren.

Oder du lernst gleich eine "richtige" kompilierbare Programmiersprache.

...zur Antwort

Oh mein Gott! Das heißt: "Du bist der Auserwählte"!11!1!!

Unser aller Ende ist nah ... wir werden alle sterben! Aaahhh!1!1!!!

Verflucht seihst du, mit deinem Raspberry Pi!

Nachtrag: Um doch noch etwas sinnvolles zu schreiben ... du kannst die Spannung in deiner /boot/config.txt ändern.

Achte bitte unbedingt auf ein geeignetes Netzteil!

...zur Antwort
C++: Wieso funktioniert mein Quellcode nicht (Thema: Klassen und Konstruktoren)?

Grüßt euch ihr Lieben,

mein Quellcode funktioniert nicht so, wie ich es will.

Ich habe hier eine Klasse mit einem Standardkonstruktor und möchte, dass meine Methode mit einbezogen wird. Am Ende wird die Methode bzw. Funktion nicht mit einbezogen.

Ich wollte zu Übungszwecken mehre Strings zusammenfügen, deshalb habe ich die Methode

void Studi::read() {

gewählt. Ich habe read( ) in meine Klasse getan, aber Sie startet einfach nicht.

Warum wird die Methode bzw. Funktion nicht mit einbezogen? Sie soll ja meine Strings addieren und daraus einen String machen. Vielleicht hat jemand eine Idee?

#include <iostream>
#include <sstream>

using namespace std;

class Studi
{
  public:
    string e;
    string str, sti, sto, stp;

    Studi(string a, string b, string c, string d)
    {
      str = a;
      sti = b;
      sto = c;
      stp = d;
    }

    void read();

    string Ausgabe()
    {
      return e;
    }
};

void Studi::read()
{
  cout << "Vorname?" << endl;
  cin >> str;
  cout << str << endl;
  cout << "Nachname?" << endl;
  cin >> sti;
  cout << sti << endl;

  cout << "Ort inklusive PLZ?" << endl;
  cin >> sto;
  cout << sto << endl;

  cout << "Staße und Hausnummer?" << endl;
  cin >> stp;
  cout << stp << endl;

  string stl = ", ";
  string sth = ", ";
  string stg = ", ";
  string stx = ", ";

  e = str + stl + sti + sth + sto + stg + stp;
}

int main()
{
  string o;
  string p;
  string q;
  string k;

  Studi Tom(o, p, q, k);
  cout << "Die Attribute lauten!!!" << endl << Tom.Ausgabe() <<endl;

  return 0;
}
...zum Beitrag

Wenn du C++ lernen willst, dann solltest du das ordentlich und systematisch tun.

Ich weiß nicht, welche Lehrmittel (Bücher, Tutorials, etc.) du nutzt, aber sie taugen offensichtlich nichts.

Bevor du dich mit Klassen befasst, solltest du die Grundlagen verstehen. (insbes. was der Unterschied zwischen Initialisierung und Zuweisung ist.)

Dein Code hat immer noch viele Probleme, die auch bei Anfängern oft unnötig sind:

  • Überlege dir gut, wie du deine Bezeichner nennst! (Namen wie a, b, c, d, o, p, q, k, stl, sth, stg, stx sind total unvverständlicher Müll.)
  • Globale using-Direktiven sind schlechter Stil, weil sie oft zu schlecht auffindbaren Fehlern führen.
  • Die Initialisierung deiner Member im Konstruktor sieht aus wie bei Java. In C++ macht man das völlig anders.
  • Anstelle von kopierten Objekten, solltest du Referenzen an Funktionen übergeben ...
  • ... und das möglichst "const". (Stichwort const-Correctness)
  • Du importierst <sstream>, aber nutzt die Klasse stringstream nicht, sondern verkettest die einzelnen Strings einfach so miteinander.
  • Du nutzt "cin >>" um Strings einzulesen, die Leerzeichen enthalten. Das funktioniert so aber nicht. (Falls du irgendwann mal soweit bist, google mal nach "skipws" oder "getline".)

Alles in allem ist das zwar überhaupt kein Problem, wenn du solche Fehler als Anfänger machst, aber wenn du nicht systematisch und Schritt für Schritt lernst, kommst du nicht weiter ... also genau so wie jetzt gerade!

Bevor du mit Klassen anfängst, lerne erst mal, was der Unterschied zwischen Initialisierung und Zuweisuungen ist, wie man Referenzen nutzt und wie man Argumente an Funktionen als Parameter übergibt.

Vorher ergibt es überhaupt keinen Sinn, wenn du dich weiter quälst. Selbst wenn du jetzt mit Hilfe von GF deine Klasse mit Ach und Krach zum laufen bekommst, wirst du 5 Minuten später beim nächsten Problem wieder eine Frage stellen müssen.

Mein Ratschlag: Schmeiss deinen bisherigen Quelltext weg, vergiss alles, was du bisher über C++ zu wissen glaubst, und kauf dir ein vernünftiges Lehrbuch, welches du systematisch (!) von Anfang bis Ende gewissenhaft durch arbeitest.

Wenn dabei Fragen auftauchen, kannst du die natürlich hier auf GF oder irgendwo anders im Netz stellen, und dann wird man dir an entsprechender Stelle auch schnell weiter helfen können.

Aber so, wie du es im Moment angehst, halte ich es für unmöglich, dass du auf diese Art und Weise C++ lernen kannst. Du wirst vermutlich binnen weniger Tage / Wochen die Lust verlieren.

Deshalb sind gute (!) Lehrwerke auch so wichtig!

Also dann, viel Erfolg! ;)

...zur Antwort

Der Quelltext enthält zu viele Fehler um ihn sinnvoll korrigieren zu können.

Man merkt, dass dir noch viel zu viele Grundlagen fehlen, also solltest du diese zuerst lernen.

Alles andere ergibt keinen Sinn.

...zur Antwort