Maison > développement back-end > C++ > le corps du texte

Quelle est la portée des autorisations des fonctions amies C++ ?

PHPz
Libérer: 2024-04-15 14:42:02
original
791 Les gens l'ont consulté

Les fonctions Friend sont des fonctions non membres qui ont l'autorisation d'accéder aux membres privés d'une classe. La portée des autorisations est limitée à la classe à laquelle elles appartiennent. Comme dans l'exemple, la fonction addMoney est déclarée comme amie de la classe BankAccount et peut accéder et opérer sur le solde du membre privé.

C++ 友元函数的权限范围有多大?

Portée des autorisations de la fonction ami C++

Qu'est-ce qu'une fonction ami ?

Une fonction ami est une fonction spéciale non-membre qui peut accéder aux membres de la classe (privés ou protégés) qui ne sont normalement accessibles qu'aux membres de la classe. Semblables aux fonctions membres, les fonctions amies ont la possibilité d'accéder à la représentation interne d'une classe.

Portée des autorisations

La portée des autorisations d'une fonction ami est limitée à la classe dans laquelle elle est déclarée comme fonction ami. Les fonctions d'ami ne peuvent pas accéder aux membres privés ou protégés d'autres classes.

Déclarer des fonctions ami

Afin de déclarer une fonction comme fonction ami, vous pouvez utiliser le mot-clé ami, comme indiqué ci-dessous : friend 关键字,如下所示:

class MyClass {
private:
    int privateMember;

public:
    // 声明一个友元函数
    friend void myFriendFunction(MyClass& obj);
};
Copier après la connexion

实战案例

考虑一个使用友元函数来更改私有成员的类:

class BankAccount {
private:
    int balance;

public:
    // 友元函数可以访问私有成员
    friend void addMoney(BankAccount& account, int amount);
};

// 友元函数的定义
void addMoney(BankAccount& account, int amount) {
    account.balance += amount;
}
Copier après la connexion

在这个示例中,addMoney 函数被声明为 BankAccount 类的友元函数,因此它可以访问该类的私有成员 balancerrreee

🎜Cas pratique🎜🎜🎜Envisager une utilisation d'amis pour changer les membres privés de la classe : 🎜rrreee🎜Dans cet exemple, la fonction addMoney est déclarée comme fonction ami de la classe BankAccount, elle peut donc accéder au solde du membre privé et incrémenter sa valeur. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!