Tag: initialization-list
Initialisierung-Listen verwendet werden, zu initialisieren, die Schüler in andere als die Standard-Weise. Dies ist in der Regel in Fällen, in denen in der Klasse ist eine Klasse Instanz.
3
Antworten
struct B { int b1, b2; B(int, int); }; struct D : B { int d1, d2; //which is technically better ? D (int i, int j, int k, int l) : B(i,j), d1(k), d2(l) {} //1st
4
Antworten
Ich habe eine Frage zu der Initialisierung der geerbten member im Konstruktor der abgeleiteten Klasse. Beispiel-code: class A { public: int m_int; }; class B: public A { public: B():m_int(0){} }; Dieser code gibt mir die folgende
2
Antworten
Werde ich das Kapitel 17 in der neuen Stroustrup Buch und ich bin verwirrt durch die Initialisierung einer Klasse mit einer Initialisierungs-Liste. Beispiel: in .hpp: class A { public: A() : _plantName(std::string s), _growTimeMinutes(int 1); virtual ~A();
3
Antworten
Ist es in Ordnung Initialisierung so? class Foo { public: Foo() : str("str") {} char str[4]; }; Und? int main() { char str[4]("str"); } Beide geben mir einen Fehler in gcc 4.7.2: Fehler: array als Initialisierer Comeau
6
Antworten
In effective C++, es wird gesagt, dass die Daten Elemente in der Initialisierungsliste werden müssen, aufgeführt in der Reihenfolge Ihrer Deklaration. Es wird weiter gesagt, dass der Grund dafür ist, dass die Destruktoren für Daten-Elemente genannt, bekommen
5
Antworten
Gibt es Unterschiede in der Ausführungszeit zwischen Konstruktoren und Initialisierungs-Listen?(oder ist es nur eine Frage der Codierung Präferenz). Ich habe eine Reihe von Objekten, die erstellt werden muss, die Häufig und würde gerne wissen, ob es irgendwelche
14
Antworten
Habe ich eine python-Klasse, die wie folgt aussieht: class Process: def __init__(self, PID, PPID, cmd, FDs, reachable, user): gefolgt von: self.PID=PID self.PPID=PPID self.cmd=cmd ... Gibt es eine Möglichkeit, autoinitialize diese Instanz-Variablen, wie " C++'s Initialisierungs-Liste? Es würde
7
Antworten
Habe ich eine Klasse, die sieht so aus: class Foo { public: Foo(); virtual ~Foo(); private: Odp* bar; }; Möchte ich initialisieren bar zu NULL. Ist dies der beste Weg, es zu tun? Foo::Foo() : bar(NULL) {
5
Antworten
Ist es möglich, die Initialisierung eines Referenz-member NULL in c++? Ich versuche, so etwas wie dieses: class BigClass { private: Object m_inner; public: const Object& ReadOnly; BigClass() : ReadOnly(NULL) { Do stuff. } }; Ich weiß, ich
5
Antworten
Kürzlich erstellte ich Klasse Square: =========header-Datei====== class Square { int m_row; int m_col; public: Square(int row, int col): m_row(row), m_col(col) }; ==========cpp-Datei====== #include "Square.h" Square::Square(int row, int col) { cout << "TEST"; } aber dann bekomme ich
11
Antworten
Intern und über den generierten code, gibt es einen wirklich Unterschied zwischen : MyClass::MyClass(): _capacity(15), _data(NULL), _len(0) { } und MyClass::MyClass() { _capacity=15; _data=NULL; _len=0 } Dank... InformationsquelleAutor der Frage Stef | 2011-01-03
3
Antworten
Habe ich eine Klasse mit einem array-member, ich möchte zu initialisieren, um alle Nullen. class X { private: int m_array[10]; }; Für eine lokale variable, es ist ein einfacher Weg, um null-initialisieren (siehe hier): int myArray[10] =
6
Antworten
Was ich weiß, von Vorteile der Verwendung von Initialisierungs-Liste ist, dass Sie die Effizienz bei der Initialisierung der Klasse Mitglieder, die nicht build-in. Zum Beispiel, Fred::Fred() : x_(whatever) { } ist vorzuziehen, Fred::Fred() { x_ = whatever;
2
Antworten
OK, member-Variablen verwendet werden können zu initialisieren anderen member-Variablen in einer Initialisierungs-Liste (mit Sorgfalt über die Initialisierungs-Reihenfolge etc). Was ist mit member-Funktionen? Um genau zu sein, ist dieses snippet rechtliche nach der C++ standard? struct foo{ foo(const
4
Antworten
Ist es möglich, die Initialisierung Liste der Kind-Klasse' Konstruktor initialize data members als protected deklariert, in der übergeordneten Klasse? Ich kann nicht ankommen es zu wirken. Ich kann es umgehen, aber es wäre schön, wenn ich nicht
4
Antworten
angenommen ich habe folgende Klasse: class MyInteger { private: int n_; public: MyInteger(int n) : n_(n) {}; //MORE STUFF }; Außerdem wird angenommen, dass diese Klasse nicht über eine Standard-trivialen Konstruktor MyInteger(). Ich muss immer Angebot ein
3
Antworten
In C++ können Sie eine Initialisierungsliste zum initialisieren der Klasse die Felder vor dem Konstruktor der Ausführung beginnt. Zum Beispiel: Foo::Foo(string s, double d, int n) : name(s), weight(d), age(n) { //Empty; already handled! } Ich bin