Alle Konstruktormethoden hier tun das Gleiche. Ich benutze meistens Methode 2, habe aber heute zum ersten Mal Methode 3 gesehen. Ich habe Methode1 an einigen Stellen gesehen, weiß aber nicht, was die genauen Unterschiede zwischen ihnen sind? Welche Methode ist die beste, um Konstruktoren zu definieren und warum? Gibt es irgendwelche Probleme mit der Leistung?
1 class Test
2 {
3 private:
4 int a;
5 char *b;
6 public:
7 Test(){};
8
9 // method 1
10 Test(int &vara, char *& varb) : a(vara), b(varb){}
11
12 // method 2
13 Test(int &vara, char *& varb)
14 {
15 a = vara;
16 b = varb;
17 }
18
19 //method 3
20 Test(int &vara, char *& varb)
21 {
22 this->a = vara;
23 this->b = varb;
24 }
25
26 ~Test(){}
27 };
Ich habe hier einfache Felder int und char* verwendet, was wird passieren, wenn ich viele Felder oder komplexe Typen wie struct habe?
Danke