2017-02-10 4 views
-1

Ich bin neu in C++.Zugriff Zeiger Klassenmitglieder (C++)

Ich habe die Testobject Klasse:

public:TestObject(){ }std::string name; 

In Hauptfunktion i tue dies

TestObject *to = new TestObject(); 
std::string t = "r"; 
to->name = t; 
printf("%s",t); 

Ich brauche einfaches String in Namen fällt auf Klassenobjekt zu retten, aber ich tue das mit der Falsche Weg. Was ist die Lösung?

Vielen Dank.

Grüße

+0

Dies sind Grundlagen in jedem C++ Buch behandelt - ich glaube nicht, diese Frage passend für StackOverflow. –

+0

Versteh mich nicht falsch, aber die * wirkliche * Lösung hier ist, etwas mehr zu lernen * zuerst *. Sie sehen, im Gegensatz zum populären Glauben, diese Seite ist ** nicht ** "Programmierschule, wo Leute Ihnen die super Grundlagen erklären" kostenlos. Manchmal tun wir das, aber auf jeden Fall: Es ist viel effektiver für Sie, sich selbst ein bisschen mehr zu recherchieren *. – GhostCat

+1

Was genau ist das Problem, das Sie haben? –

Antwort

1

Sie Strings nicht mit printf C++ printf with std::string?

Hier ist ein funktionierendes Code

class TestObject 
{ 
public: 
    TestObject() 
    {} 
    std::string name; 
}; 
int main(int argc, char const *argv[]) 
{ 
    TestObject * to = new TestObject(); 
    std::string t = "r"; 
    to -> name = t; 
    std::cout << t; // or printf("%s",t.c_str()); 
    delete to; 
    return 0; 
} 
+0

Vielen Dank. Ich füge die c_str() hinzu und es ist Arbeit. Ich werde jetzt das 'Papier' dieser Funktionen suchen. Vielen Dank ;) – RMaster21

Verwandte Themen