std::unique_ptr mit abgeleiteten Klasse

Ich habe eine Frage zu den c++11-Pointer. Speziell, wie machen Sie eine einzigartige Zeiger der Basisklasse in der abgeleiteten Klasse?

class Base
{
public:
   int foo;
}

class Derived : public Base
{
public:
   int bar;
}

...

std::unique_ptr<Base> basePointer(new Derived);
//now, how do I access the bar member?

sollte es möglich sein, aber ich kann nicht herausfinden, wie. Jedes mal, wenn ich versuche, mithilfe der

basePointer.get()

Ich am Ende mit der ausführbaren Datei abstürzt.

Vielen Dank im Voraus, jede Beratung wäre geschätzt.

  • Sie konnten zeigen, ein vollständiges (aber minimal) - Beispiel der code, der bewirkt, dass Ihr Prozess zum Absturz bringen? basePointer.get() allein ist sicherlich nicht ein problem.
  • Ich reparierte mein problem. Ich war dabei einige wirklich seltsame casting mit mindestens 5 Sätzen von Klammern. Ich bin mir ziemlich sicher, es war nur etwas dumm, aber ich bereits geändert und kann mich nicht erinnern, was ich getan habe. Kapitän Obvlious' Antwort arbeitete für mich aber. Vielen Dank für Ihre Hilfe!
InformationsquelleAutor Lukas Schmit | 2013-07-02
Schreibe einen Kommentar