sagen, dass ich den folgenden Code haben:Konstrukteurs und Mitglied der Objektvariable, Initialisierungswerte
struct Car{
public:
Car(){}
Car(int w, int d){
wheels = w;
doors = d;
}
private:
int wheels;
int doors;
};
int main(){
Car *cars = new Car[10];
cars[0] = {4, 4};
cars[1] = Car(4, 4);
}
die Struktur Unter Berücksichtigung erlaubt keine Möglichkeit, den Wert der Räder der Einstellung und Türen andere als einen Konstruktor, was der bessere Weg wäre, dem Auto-Array Werte zuweisen? Gibt es einen Unterschied zwischen den letzten beiden Zeilen im obigen Code?
Ich arbeite derzeit an einer Hash-Tabelle-Implementierung für die Schule und die Startbasis von C++ - Code zur Verfügung gestellt hat eine Schlüssel-Wert-Paar-Klasse mit nur einer setKey-Methode und keine setValue-Methode. Also muss ich im Grunde Werte mit Aufrufen an einen Konstruktor zuweisen und bin mir nicht sicher, ob es einen Unterschied zwischen der Verwendung von {} oder Klassenname (Schlüssel, Wert) für die Zuweisung gibt.
Beide Zuweisungsmethoden sind für diese Klasse identisch. Es könnte sich unterscheiden, wenn Sie den Nicht-Copy-Operator "operator =" oder einen Konstruktor "initializer_list" überladen hätten. –