Maison >développement back-end >C++ >Quelle est la portée des autorisations des fonctions amies C++ ?

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

PHPz
PHPzoriginal
2024-04-15 14:42:02831parcourir

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);
};

实战案例

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

class BankAccount {
private:
    int balance;

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

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

在这个示例中,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!

Déclaration:
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