Tag: copy-constructor
Ein copy-Konstruktor ist ein Konstruktor, erzeugt ein neues Objekt, dass ein clone von einem vorhandenen Objekt ist. Der Begriff wird hauptsächlich in der Programmiersprache C++, in denen copy-Konstruktoren haben einen besonderen status.
2
Antworten
Weiß ich, wie schreiben Sie einen kopierkonstruktor, wenn Sie raw-pointer Daten-member in einer Klasse, aber wie schreiben Sie einen kopierkonstruktor, wenn Sie diese handhaben mit einem shared_ptr? Gibt es eine copy() oder clone() Funktion, die aufgerufen werden
2
Antworten
noob hier. Ich mache eine übung aus einem Buch und der compiler meldet keine Fehler, aber das Programm stürzt ab, wenn ich versuche, um Sie auszuführen. Ich versuche zu laufen, ein kleines Programm für die Ausübung der
8
Antworten
Wenn die operator= ordnungsgemäß definiert ist, ist es OK, verwenden Sie die folgende als Kopie-Konstruktor? MyClass::MyClass(MyClass const &_copy) { *this = _copy; } Verwenden Sie die copy-and-swap-idiom. In der Regel, die Kopie Zuweisungsoperator tun etwas Aufräumen. Wenn
6
Antworten
Schreiben brauche ich eine copy-Konstruktor deep kopiert den Inhalt von einer std::shared_ptr. Es gibt jedoch eine Reihe von Variablen int a, b, c, d, e; auch in der Klasse definiert. Gibt es eine Möglichkeit zum generieren der
10
Antworten
Siehe Titel. Habe ich: class Foo { private: Foo(); public: static Foo* create(); } Was muss ich tun, von hier aus Foo un-kopierbar? Dank! InformationsquelleAutor anon | 2010-01-31
2
Antworten
Habe ich eine Klasse, die ist öffentlich, geerbt von QWidget: class MyWidget : public QWidget { Q_OBJECT public: MyWidget(const MyWidget& other) : obj1(other.obj1), obj2(other.obj2) private: some_class obj1; some_class obj2; }; Wenn ich baute mein Projekt, compiler beschwert
4
Antworten
Habe ich eine Klasse (Uniform), die über einen Konstruktor mit 2 Parametern, und eine Standard-copy-Konstruktor (es enthält nur int, schwimmt, ein std::vector und std::map). Ich erstellte eine std::vector<Uniform> uniforms will ich füllen mit den uniforms.push_back() Linie. Ich
3
Antworten
Habe ich eine Klasse A (aus einer Bibliothek, über die ich keine Kontrolle haben) mit, sich eine private Kopie-Konstruktor und ein clone Methode, und eine Klasse B abgeleitet von A. Ich würde gerne umsetzen clone für B
1
Antworten
Ich bin mit dieser zwei-Klassen //This is generic data structure containing some binary data class A { public: A(); A(const A&); ~A(); } //Main data container class B { public: B(); B( const B&); ~B(); protected: std::vector<A
4
Antworten
Bin ich versuchen, einige Probleme zu lösen, in meinem Programm und es scheint, dass es entweder ein problem mit meinem copy-Konstruktor oder mit meinem Destruktor. Ich bin immer ein Speicher-Ausnahme. jede Hilfe wäre mir sehr geschätzt Dank
3
Antworten
Suchte ich herum und scheint in Ordnung zu führen, muss ich meine Base-Klasse und möchte wissen, ob dies der beste Ansatz. Zum Beispiel, Ich habe eine Base-Klasse: class Base {} Dann eine lange Reihe von abgeleiteten Klassen:
3
Antworten
Ich habe einige code, führt eine Tiefe Kopie mit dem Objekt.Klon, aber ich versuche zu umschreiben, dass es mit dem mehr "akzeptabel" Kopie-Konstruktor Technik. Im folgenden sind zwei einfache Beispiele für das, was ich versuche zu tun,
2
Antworten
Ich habe gesehen, verschiedene widersprüchliche Verweise auf die Kopie-Konstruktor Verhalten von STL-strings in C++ und ich hatte gehofft, jemand könnte das für mich aufklären, angesichts des folgenden code-segment: string str() { return string("this is a string"); }
3
Antworten
Vom cplusplus.com: Selten kommen Sie über eine Klasse, die nicht enthalten rohen Zeiger doch die Standard-copy-Konstruktor ist nicht ausreichend. Ein Beispiel dafür ist, wenn Sie einen Referenz-gezählt Objekt. boost::shared_ptr<> ist Beispiel. Kann jemand dies erläutern? Wenn wir
7
Antworten
Ging ich durch Copy-Konstruktoren, die ich durchgemacht habe die links auf stack over flow und andere. Aber ich bin nicht klar auf die folgenden Punkte. Warum brauchen wir ein Kopie-Konstruktor Wenn tun, brauchen wir eine Kopie-Konstruktor Ich
8
Antworten
Was bedeutet kopieren eines Objekts bedeuten? Was sind die copy-Konstruktor und die Kopie Zuweisungsoperator? Wann muss ich erklären, Sie selbst? Wie kann ich verhindern, dass Objekte kopiert werden? Bitte Lesen dieser ganze thread und die c++-faq wiki-tag,
8
Antworten
Was bedeutet kopieren eines Objekts bedeuten? Was sind die copy-Konstruktor und die Kopie Zuweisungsoperator? Wann muss ich erklären, Sie selbst? Wie kann ich verhindern, dass Objekte kopiert werden? Bitte Lesen dieser ganze thread und die c++-faq wiki-tag,
2
Antworten
Ich weiß, dass es viele ähnliche Fragen gibt, aber ich habe nicht gefunden was hilft noch. Ich beschäftige mich jetzt schon seit mehreren Stunden jetzt, und es macht mich verrückt. Ich bekomme einen segmentation fault, wenn ein
5
Antworten
Nur ab C++ (ein paar Tagen), komme ich mit der C-hintergrund. Habe ich eine Klasse, die hält, vor allem, einen Zeiger auf ein int-array mit dem folgenden code: class Array { private: int * _arr; int _size;
2
Antworten
Ich verlängert std::string erfüllt meine Bedürfnisse zu schreiben benutzerdefinierte Funktion erstellen, die in der string-Klasse genannt CustomString Habe ich den vorgegebenen Konstruktoren: class CustomString : public std::string { public: explicit CustomString(void); explicit CustomString(const std::string& str); explicit CustomString(const
8
Antworten
Was bedeutet kopieren eines Objekts bedeuten? Was sind die copy-Konstruktor und die Kopie Zuweisungsoperator? Wann muss ich erklären, Sie selbst? Wie kann ich verhindern, dass Objekte kopiert werden? Bitte Lesen dieser ganze thread und die c++-faq wiki-tag,
6
Antworten
Habe ich eine Tree-Klasse mit der folgenden definition: class Tree { Tree(); private: TreeNode *rootPtr; } TreeNode-Objekt repräsentiert einen Knoten und hat Daten, leftPtr und rightPtr. Wie erstelle ich eine Kopie von einem Baum-Objekt mit einem copy-Konstruktor?
3
Antworten
Mühe habe ich die Umsetzung meiner Klasse. Es sollte in der Lage sein zu initialisieren, die von std::string. Also schrieb ich eine Kopie (?) Konstruktor: CVariable (std::string&, const int p_flags = 0); Ich versuche zu machen, ein
2
Antworten
Ich habe Klasse B, abgeleitet von der Klasse A. ich rufe copy-Konstruktor implementiert habe ich mich für ein Objekt der Klasse B. ich auch umgesetzt, selbst einen Konstruktor für die Klasse A. Ist diese Kopie-Konstruktor wird automatisch
4
Antworten
Im Buch C++ Primer 13.5.1, setzen es ein Smart-Pointer-Klasse mit einem Verwenden-Count-Klasse. Ihre Umsetzung ist wie folgt: Verwenden-Count-Klasse //private class for use by HasPtr only class U_Ptr { friend class HasPtr; int *ip; size_t use; U_Ptr(int *p):
3
Antworten
How to write copy-Konstruktor der template-Klasse. So dass, wenn die template-parameter einen anderen Benutzer definierte Klasse, es ist copy-Konstruktor wird auch aufgerufen. Folgende ist meine Klasse template <typename _TyV> class Vertex { public: Vertex(_TyV in) : m_Label(in){
4
Antworten
Einen copy-Konstruktor wird verwendet, für viele Dinge, wie wenn ich die Zeiger oder die dynamische Zuordnung von Speicher für ein Objekt. Aber ein Blick auf dieses Beispiel an tutorialpoint.com: #include <iostream> using namespace std; class Line {
1
Antworten
Habe ich Probleme mit Qt, C++ - Projekt, das ich arbeite, im moment. Es ist ein neuer Abschnitt, ich bin verdeckt, und ich fand es ein bisschen verwirrend. Ich habe einige Klassen gut sind, das ist geerbt
5
Antworten
Ist es sinnvoll zu definieren, die eine Kopie-Konstruktor /operator = in der Klasse mit pur virtuellen Methode oder nur in abgeleiteten Klassen? InformationsquelleAutor Johny | 2011-04-08
3
Antworten
ich bin neu in C++ - Programmierung, wenn ich dabei einige C++ - Programme, die ich habe Zweifel, dass ist der Grund, warum copy-Konstruktor wird aufgerufen, wenn ich die übergabe eines Objekts als argument per Wert an
2
Antworten
Bitte werfen Sie einen Blick auf das folgende Beispiel: class Base { protected: int m_nValue; public: Base(int nValue) : m_nValue(nValue) { } const char* GetName() { return "Base"; } int GetValue() { return m_nValue; } }; class
9
Antworten
Ich habe vor kurzem entdeckt, dass wenn ich die Zeiger innerhalb einer Klasse, die ich brauche, um anzugeben, eine Kopie-Konstruktor. Lernen, dass, ich habe folgenden einfachen code. Es kompiliert, aber der gibt mir Laufzeitfehler bei der Ausführung
2
Antworten
Ich versuche, eine Kopie von einem Objekt einer benutzerdefinierten Klasse Event. Ich habe einen shared pointer auf das Objekt, das ich habe gewonnen, aus der die Zuordnung: std::shared_ptr<Event> e = std::make_shared<Event>(); Um eine echte Kopie der e
3
Antworten
Bin ich mit einer Klasse (Objekt), dass nicht jede Kopie-operator : es ist im Grunde nicht kopiert werden kann, jetzt. Ich habe eine std::map<int,Object> objects variable, die Listen von Objekten mit einem int-id. Wie könnte ich ein
2
Antworten
In VS 2010 SP1, die folgenden: class Foo { public: Foo() { } Foo(Foo const&) = delete; //Line 365 Foo& operator=(Foo const&) = delete; //Line 366 }; nicht kompilieren. Es beschwert sich: CPPConsole.cpp(365): error C2059: Syntaxfehler :
3
Antworten
Mein Ziel ist, halten Sie ein std::thread - Objekt als Datenelement, und initialisieren Sie es, wenn nötig. Ich bin nicht in der Lage, dies zu tun (wie in meinem code unten), da der copy-Konstruktor der std::thread Klasse
8
Antworten
Warum muss ein copy-Konstruktor übergeben werden, dessen parameter durch Referenz? InformationsquelleAutor der Frage Jony | 2010-04-21
7
Antworten
Ich weiß von den folgenden Situationen, in c++, wo der copy-Konstruktor würde aufgerufen werden: wenn ein vorhandenes Objekt zugeordnet ist, ein Objekt der eigenen Klasse MyClass A,B; A = new MyClass(); B=A; //copy constructor called wenn eine
9
Antworten
Heute in der Uni habe ich empfohlen wurde von einem professor, ich würde check für (this != ©) in den copy-Konstruktor, ähnlich wie Sie es tun sollten, wenn eine überlastung operator=. Allerdings habe ich in Frage gestellt,
7
Antworten
public class SuperCar: Car { public bool SuperWheels { get {return true; } } } public class Car { public bool HasSteeringWheel { get {return true;} } } Wie kann ich die Basisklasse für die abgeleiteten Supersportwagen?
3
Antworten
Nach der Lektüre über die copy-Konstruktoren und copy-Zuweisungsoperatoren in C++, ich habe versucht, zu erstellen eine einfache Beispiel. Obwohl die unten snippet anscheinend funktioniert, ich bin mir nicht sicher, ob ich die Umsetzung der copy-Konstruktor und copy-Zuweisungsoperator,
8
Antworten
Ich weiß, dass, wenn Sie verlassen ein Mitglied aus einer Initialisierungs-Liste in eine no-arg-Konstruktor der Standard-Konstruktor des betreffenden Mitglieds genannt werden. Tun, copy-Konstruktoren ebenfalls aufrufen der copy-Konstruktor der Mitglieder, oder haben Sie sich auch an den default-Konstruktor?
3
Antworten
Diesem snippet kompiliert, ohne Fehler in Visual Studio 2013 (Version 12.0.31101.00 Update 4) class A { public: A(){} A(A &&){} }; int main(int, char*) { A a; new A(a); return 0; } während der Kompilierung mit dieser
8
Antworten
Ich verstehe, dass, wenn wir eine Klasse definieren, copy-Konstruktor der Klasse ist notwendig, da Regel der drei Staaten. Ich merke auch, dass das argument der copy-Konstruktor ist in der Regel const als die folgenden codes veranschaulichen: class
6
Antworten
Bin ich ein wenig verwirrt, als die mechanik der copy-Konstruktor. Korrigieren Sie mich, wenn ich falsch Liege: Wenn eine Methode eine Referenz auf ein Objekt als parameter, und die Klasse definiert eine Kopie construtor, dann verwendet die
3
Antworten
Was sind die vor-und Nachteile der Vervielfältigung ein Objekt Instanz mit Instanz-Konstruktor oder Funktion? Beispiel Ein: type TMyObject = class strict private FField: integer; public constructor Create(srcObj: TMyObject); overload; //alternatively: //constructor CreateFrom(srcObj: TMyObject); property Field: integer read
1
Antworten
Ich bin Implementierung eines Vorlagen-vector-Klasse (nicht dem Daten-container, aber der Vektor in der linearen algebra Sinne), und ich bin immer ziemlich viele Fehler, wenn ich beziehe mich auf rhs in meinem operator zu überladen. Auch mein copy-Konstruktor
4
Antworten
Angesichts einer Basisklasse geerbt wird durch die fülle von abgeleiteten Klassen und eine Programmstruktur, die erfordert, dass Sie Steuern diese über Zeiger auf Basisklasse für jede Entität. Gibt es eine einfache Möglichkeit zum kopieren des gesamten abgeleiteten
8
Antworten
Was bedeutet kopieren eines Objekts bedeuten? Was sind die copy-Konstruktor und die Kopie Zuweisungsoperator? Wann muss ich erklären, Sie selbst? Wie kann ich verhindern, dass Objekte kopiert werden? InformationsquelleAutor der Frage fredoverflow | 2010-11-13
7
Antworten
Dies ist eine Art Anfänger-Frage, aber ich bin noch nicht C++ in eine lange Zeit, so hier geht... Habe ich eine Klasse, die enthält einen dynamisch reservierten Arrays, sagen class A { int* myArray; A() { myArray