2014-07-08 6 views
-6

J'apprends mon premier langage de programmation C++ et j'ai des problèmes avec la fonction publique privée. Pouvez-vous m'aider à trouver le problème?Rendre une fonction privée publique en C++

#include <iostream> 
#include <string> 
using namespace std; 
class JadClass 
{ 
public: 
    void setName(string x) 
    { 
     name = x; 
    } 
    string getName() 
    { 
     return name; 
    } 
private: 
    string name; 
}; 
int main() 
{ 
    JadClass jc; 
    jc.setName = "Jad Charara w\n"; 
    cout << jc.getName(); 
    system("pause"); 
    return 0; 
} 
+0

Eh bien, quand vous me montrez la fonction privée, je vais essayer de vous aider. – SyntaxTerror

+6

'setName' est une méthode, pas un attribut. Appelez 'js.setName (" Jad Charara w \ n ");' au lieu d'assigner. –

+0

En note, écrivez 'void setName (const string & x) ...' de préférence. –

Répondre

3

au lieu de

jc.setName = "Jad Charara w\n"; 

écrire

jc.setName("Jad Charara w\n"); 
0

d'abord tout ce que vous avez défini 2 fonctions en classe JadClass avec spécificateur d'accès public, donc s'il vous plaît confirmer spécificateur d'accès dont la fonction que vous voulez passer du privé au public.

Deuxième chose dans main que vous essayez d'appeler la fonction setName. jc.setName = "Jad Charara w \ n";

L'appel de fonction ci-dessus doit être en jc.setName ("Jad Charara w \ n"); format.

Questions connexes