Fonctions membres des classes C ++

La nature des fonctions membres C ++

En C ++, la fonction membre d'une classe est un type de fonction, qui a une valeur de retour et un type de fonction. La différence entre elle et une fonction générale est seulement:

Les membres appartenant à une classe apparaissent dans le corps de la classe.
Peut être spécifié comme privé, public ou protégé.

Lorsque C ++ utilise une fonction de classe, faites attention à l'autorisation de l'appeler et à sa portée. Les fonctions membres privées ne peuvent être appelées que par d'autres fonctions membres de cette classe et ne peuvent pas être appelées en dehors de la classe. Les fonctions membres peuvent accéder à cette classe. Tout Le membre peut faire référence à des données valides dans cette étendue.

L'approche générale consiste à désigner les fonctions membres devant être appelées par le monde extérieur comme publiques. Elles constituent l'interface externe de la classe, mais il convient de noter que toutes les fonctions membres ne doivent pas être désignées comme publiques.

En C ++, certaines fonctions ne sont pas destinées à être appelées pour le monde extérieur, mais sont appelées par des fonctions membres de cette classe, elles doivent donc être désignées comme privées. La fonction de ce type de fonction est de prendre en charge le fonctionnement d'autres fonctions. C'est une fonction d'autres membres de la classe, et les utilisateurs extérieurs à la classe ne peuvent pas appeler ces fonctions privées.

La fonction membre d'une classe est une partie très importante du corps de la classe. Si une classe ne contient pas de fonctions membres, elle équivaut à une structure en langage C, et les lecteurs doivent y prêter une attention particulière.

Fonction membre de définition de classe C ++

Les fonctions membres mentionnées ci-dessus sont définies dans le corps de la classe. En C ++, vous pouvez également écrire uniquement la déclaration de la fonction membre dans le corps de la classe et définir la fonction en dehors de la classe.

Définissez la fonction d'impression en dehors de la classe:

struct Student //用struct来声明一个类类型 
{
    
    
  private: //声明以下为私有的 
    int number; //学号 
    char name[10];//姓名 
    char sex; //性别 
  public: //声明以下为共有的 
    void print_info(); //函数声明 
};
void Studnet::print_info() //在类外定义打印函数 
    {
    
    
      cout<<number<<endl;
      cout<<name<<endl;
      cout<<sex<<endl;
    };
Student stu1,stu2;//定义了Student类对象

Lorsque C ++ définit directement une fonction dans le corps de la classe, il n'est pas nécessaire d'ajouter le nom de la classe devant le nom de la fonction, mais lorsque la fonction membre est définie en dehors de la classe, le nom de la classe doit être ajouté devant le nom de la fonction .

//作用域限定符

En C ++, un qualificateur d'étendue est utilisé pour déclarer à quelle classe appartient une fonction. S'il n'y a pas de nom de classe avant l'opérateur d'étendue, ou s'il n'y a ni nom de classe ni qualificateur d'étendue avant le nom de fonction, cela signifie que la fonction n'appartiennent à aucune classe, cette fonction n'est pas une fonction membre, mais une fonction globale.

Les fonctions de classe C ++ doivent d'abord être déclarées dans le corps de la classe, puis définies en dehors de la classe, ce qui signifie que la position du corps de la classe doit être avant la définition de la fonction, sinon une erreur se produira lors de la compilation.

Bien que la fonction soit définie en dehors de la classe, lorsqu'une fonction membre est appelée, la définition de la fonction est trouvée selon le prototype de fonction déclaré dans la classe, et la fonction est exécutée.

Ci-dessus, si vous lisez et pensez que cela vous est utile, veuillez faire un compliment à Xiaolin, afin que Xiaolin ait également la motivation de mettre à jour, merci les pères et les camarades ~ Plus de cas de
fonctions membres C ++
peuvent aller sur le compte public: Entrée de langage C à la compétence

Je suppose que tu aimes

Origine blog.csdn.net/weixin_48669767/article/details/112761715
conseillé
Classement