Wie zum initialisieren einen Konstruktor mit nimmt, dass Strings als Parameter?

Ich bin nicht sicher, dass ich mich mit der richtigen Terminologie, aber die Frage ist, wie muss ich richtig stellen Sie einen Konstruktor nimmt einen string als parameter?

Bin ich verwendet, um mit einem const char * im Konstruktor statt des strings.

Normalerweise würde ich so etwas tun:

Name(const char* fName, const char* lName)
    : firstName(0), lastName(0)
{
    char * temp = new char [strlen(fName) + 1];
    strcpy_s(temp, strlen(fName) + 1, fName);
    firstName = temp;

    char * temp2 = new char [strlen(lName) + 1];
    strcpy_s(temp2, strlen(lName) + 1, lName);
    lastName = temp2;
}

Was ist, wenn der Konstruktor ist:

 Name(const string fName, const string lName) { }

Tun habe ich immer noch Basis-member-Initialisierung? noch muss ich die Verwendung von string Kopie in der Basis der Konstruktor?

InformationsquelleAutor Sarah | 2013-11-05
Schreibe einen Kommentar