Navigation

    cpp-logo

    C++ Community

    • Registrieren
    • Anmelden
    • Suche
    • Kategorien
    • Aktuell
    • Tags
    • Beliebt
    • Gruppen
    1. Übersicht
    2. Beliebt
    Melde dich an, um einen Beitrag zu erstellen
    • Alle Kategorien
    • Ankündigungen
    •      Die Artikel
    • C++ (alle ISO-Standards)
    •      MFC
    •      VCL (C++ Builder)
    •      C++/CLI mit .NET
    •      Andere GUIs - Qt, GTK+, wxWidgets
    • Sonstige Programmiersprachen
    •      C (alle ISO-Standards)
    •      C# und .NET
    •      Java
    •      Assembler
    •      Webzeugs
    • Betriebssysteme
    •      WinAPI
    •      Linux/Unix
    •      Projekt: OS-Development
    •      DOS und Win32-Konsole (nur Lesen)
    • Weitere Fachbereiche
    •      Mathematik und Physik
    •      Spiele-/Grafikprogrammierung
    •      Datenbanken
    •      Compiler- und IDE-Forum
    •      Projekte
    • Jenseits der Programmierung
    •      Beruf und Ausbildung
    •      Stellenangebote
    •      Themen rund um die IT
    •      Gaming-Corner
    • Forentechnik
    • Archiv
    •      Das C++ Magazin
    •          Die Redaktion
    •          Die Autoren
    •          Allgemeines zum Magazin
    •          Archiv
    •      Organisation des Forumtreffens
    •      FAQs - Frequently Asked Questions
    •          FAQ - C (C89, C99 und C11)
    •          FAQ - Assembler
    •          FAQ - C++ (auch C++0x, C++11)
    •          FAQ - C++/CLI
    •          FAQ - C++ Builder (VCL/CLX)
    •          FAQ - C# und .NET
    •          FAQ - Compiler & IDEs
    •          FAQ - Datenbanken
    •          FAQ - DOS und Win32-Konsole
    •          FAQ - Grafik-/Spieleprogrammierung
    •          FAQ - GUIs
    •          FAQ - Java
    •          FAQ - Linux/Unix
    •          FAQ - Mathematik und Physik
    •          FAQ - MFC
    •          FAQ - Rund um die Programmierung
    •          FAQ - Sonstiges
    •          FAQ - Webzeugs
    •          FAQ - WinAPI
    •          FAQ - Forentechnik
    • Alle Themen
    • Neue Themen
    • Beobachtete Themen
    • Unbeantwortete Themen
    • Gesamter Zeitraum
    • Tag
    • Woche
    • Monat

    • M

      pure virtual clone mit shared_ptr?
      C++ (alle ISO-Standards) • • mael15  

      4
      0
      Stimmen
      4
      Beiträge
      26
      Aufrufe

      E

      Probiere mal: #include <memory> #include <iostream> /// Basis-Klasse Father class Father { public: virtual ~Father() = default; /// Erzeugt eine Kopie als Father-Pointer in einem shared_ptr. /// Jede abgeleitete Klasse muss diese Methode überschreiben. virtual std::shared_ptr<Father> cloneAsFather() const = 0; }; /// Basis-Klasse Mother class Mother { public: virtual ~Mother() = default; /// Erzeugt eine Kopie als Mother-Pointer in einem shared_ptr. /// Jede abgeleitete Klasse muss diese Methode überschreiben. virtual std::shared_ptr<Mother> cloneAsMother() const = 0; }; /// Abgeleitete Klasse Child, erbt mehrfach von Father und Mother class Child : public Father, public Mother { public: int someData = 0; Child() = default; explicit Child(int d) : someData(d) {} /// Implementierung für das Klonen als Father /// Rückgabetyp passt exakt zu Father::cloneAsFather() std::shared_ptr<Father> cloneAsFather() const override { // std::make_shared<Child>(*this) erzeugt eine Kopie von *this (Child), // der shared_ptr<Child> wird implizit nach shared_ptr<Father> konvertiert. return std::make_shared<Child>(*this); } /// Implementierung für das Klonen als Mother /// Rückgabetyp passt exakt zu Mother::cloneAsMother() std::shared_ptr<Mother> cloneAsMother() const override { // Auch hier: Kopie von Child, diesmal als Mother-Interface zurückgegeben. return std::make_shared<Child>(*this); } }; int main() { Child original(42); // Über Father-Schnittstelle klonen std::shared_ptr<Father> f = original.cloneAsFather(); // Über Mother-Schnittstelle klonen std::shared_ptr<Mother> m = original.cloneAsMother(); // Wenn du wieder an Child ran möchtest: auto fAsChild = std::dynamic_pointer_cast<Child>(f); auto mAsChild = std::dynamic_pointer_cast<Child>(m); if (fAsChild && mAsChild) { std::cout << "fAsChild->someData = " << fAsChild->someData << "\n"; std::cout << "mAsChild->someData = " << mAsChild->someData << "\n"; } }
    • F

      Softwareentwickler (m/w/d) C#/ C++ / Düsseldorf
      Stellenangebote • festanstellung c++ datenbank sql-datenbanken • • Finovesta GmbH  

      1
      0
      Stimmen
      1
      Beiträge
      66
      Aufrufe

      F

      Die FINOV€STA GmbH ist ein aufstrebendes, dynamisches, stetig und gesund wachsendes Unternehmen mit derzeit 45 Angestellten. Das Kerngeschäft liegt im Handel mit Wertpapieren und Derivaten jeglicher Art. FINOV€STA hält eigene Mitgliedschaften an vielen nationalen und internationalen Börsen und ist über Broker zusätzlich an weitere Märkte angebunden. FINOV€STA tätigt ausschließlich Geschäfte im eigenen Namen und auf eigene Rechnung. Innovative Handelsstrategien, modernste Technik sowie hervorragend ausgebildete und motivierte Mitarbeiterinnen und Mitarbeiter machen den konstanten Erfolg des Unternehmens aus. Um unser erfolgreiches Geschäftsmodell weiter auszubauen, suchen wir Sie (m/w/d) zur Unterstützung unseres Bereiches „Programmierung/Entwicklung“. Ihre Aufgaben Sie entwickeln innerhalb eines kleinen Entwicklerteams eigenständig Module und Anwendungen für die Unterstützung des automatischen und manuellen Handels mit Wertpapieren und betreuen dabei die bestehende Inhouse-Software. Sie erstellen zuverlässige, performante und erweiterbare Lösungen für interne Problemstellungen in den Bereichen Handel, Backoffice, Analyse und Simulation. Dabei setzen Sie unterschiedliche Konzepte und Technologien ein, darunter Client-Server-Systeme, Netzwerkprotokolle und Datenbanken. Für die optimale Umsetzung Ihrer Aufgaben arbeiten Sie eng mit den Anwendern aus den Fachbereichen zusammen und setzen sich intensiv mit den internen Handelsabläufen auseinander. Unsere Anforderungen Ein erfolgreich abgeschlossenes Studium in einem einschlägigen Fach Sehr gute Kenntnisse in C# und .NET sowie fortgeschrittene Kenntnisse in modernem C++ und der Standardbibliothek Sicherer Umgang mit SQL-Datenbanken. Erfahrungen mit dem Entity Framework sind von Vorteil Erfahrungen mit nachrichtenorientierter Kommunikation Kreativität und Initiative bei der Erarbeitung von Lösungen für neue Probleme sowie bei der Planung von Projekten Sie verfügen über gute Deutsch- und Englischkenntnisse in Wort und Schrift Wir bieten ein leistungsgerechtes Jahreseinkommen 30 Tage Urlaubsanspruch, plus freie Tage am 24. und 31.12. Einen sicheren Arbeitsplatz Eine fundierte Einarbeitung Obst, Snacks und Erfrischungsgetränke Kostenloses Firmen-Bike (SwapFiets) Ermäßigte Urban Sports Club Mitgliedschaft Die FINOVESTA GmbH befindet sich leicht erreichbar am Düsseldorfer Hafen – eine der tollsten Gegenden dieser Stadt. Wir freuen uns über Ihre Bewerbung im PDF- Format unter: bewerbung@finovesta.de