Ich habe Funktion get_time() in einer Klasse, die ein privates Mitglied zurückgeben.C++ - wie benutzt man das Objekt, das die Funktion aufruft?
Wie kann ich das Objekt verwenden, das diese Funktion in der Implementierung der Funktion aufgerufen hat.
Zum Beispiel in comp-Objekt, die einen Member Call-Namen Anruf get_time Funktion haben (comp.get_time()
): Ich möchte in der Lage, die comp.name in der det_time_function zu bekommen. Wie kann ich?
beispiels
class comp
{
public:
string name;
}
class calc : public comp
{
private:
int time;
public:
int get_time(){
///here I want to get the name of the object which call the calc
///should I use this.name?
}
}
calc calc_obj;
calc.get_time();
Code. Teilen Sie Ihren Code. (Speziell die Klasse) Wir können Ihnen Ratschläge geben, aber wenn Sie Ihren Code sehen, stellen wir sicher, dass wir Ihnen Ratschläge geben, von denen wir überzeugt sind, dass sie für Ihre Umgebung funktionieren. Auf diese Weise nimmt sich niemand die Zeit, um dir eine vollwertige Antwort zu geben und dann gehst du: "Oh, warte, ich habe meinen Kurs mit diesen Parametern so initialisiert, dass deine Antwort für meinen Fall nicht funktioniert." :] – 8protons
Verwenden Sie dies (http://www.tutorialspoint.com/cplusplus/cpp_this_pointer.htm) –
Was hindert Sie daran, die privaten Mitglieder aus der Definitionsfunktion der öffentlichen Mitglieder zu sehen? und mit 'this->' Zeiger wird Ihnen auch helfen –