Che cos'è C++? | Funzione Friend in C++

Che cos'è C++? | Funzione Friend in C++

La funzione friend in C++ può accedere ai membri privati ​​e protetti di una classe, pur essendo definito al di fuori della classe. In una classe, le funzioni friend sono dichiarate usando la parola chiave “amico,” ma non sono membri della classe.

Discuteremo la funzione amico in C++ in questo articolo

introduzione

In C++, una funzione amico è una funzione definita al di fuori di una classe ma che può accedere ai membri privati ​​e protetti della classe. All'interno della definizione di classe, la parola chiave “amico” è usato per dichiarare la funzione come amico della classe.

Le funzioni Friend non sono membri della classe, ma possono interagire con esso come funzioni membro. Lo scopo di queste funzioni è consentire alle funzioni esterne di accedere ai dati interni di una classe senza esporre tali dati al pubblico. È comunque importante utilizzare le funzioni di amicizia con cautela in quanto potrebbero causare la rottura dell'incapsulamento della classe, risultando in un accoppiamento più forte tra la classe e la funzione esterna.

C++

C++ è un potente linguaggio di programmazione ampiamente utilizzato in una varietà di applicazioni, compresi i sistemi operativi, browser web, e videogiochi. Come estensione del linguaggio di programmazione C, aggiunge funzionalità come la programmazione orientata agli oggetti, modelli, e gestione delle eccezioni.

Esempio

#includere <iostream>

utilizzando lo spazio dei nomi std;

int principale() {

larghezza int, altezza.

cout << “Immettere la larghezza e l'altezza del rettangolo: “;

cin >> larghezza >> altezza;

int area = larghezza * altezza;

cout << “L'area del rettangolo è ” << la zona << finel;

 

Restituzione 0;

}

Cos'è la funzione Friend in C++?

In C++, una funzione amico è una funzione definita al di fuori di una classe ma che può accedere ai membri privati ​​e protetti della classe. Usando la parola chiave “amico” all'interno della definizione della classe, la funzione è dichiarata come amico della classe.

LEGGERE  I migliori registratori di schermo gratuiti con Video Manager 2023

 

Le funzioni Friend non sono funzioni membro della classe, ma possono interagire in modo simile con la classe per le funzioni membro.

Esempio

#includere <iostream>

classe A {

privato:

intero x;

pubblico:

UN(intero x) : X(X) {}

// Dichiara la funzione 'amico’ di classe A

amico void printX(UN& un);

};

// La funzione 'printX’ è un amico di classe A

void printX(UN& un) {

standard::cout << ascia << standard::finel;

}

int principale() {

Aa(10);

// La funzione 'printX’ può accedere al membro privato ‘x’ di classe A

stampaX(un); // Uscite: 10

Restituzione 0;

}

In questo esempio, la funzione printX è amica della classe A. Ciò significa che la funzione printX ha accesso al membro privato x della classe A. La funzione printX può quindi accedere e stampare il valore di x per un dato oggetto della classe A.

Vantaggi dell'utilizzo delle funzioni Friend in C++:

  1. Consente l'accesso ai membri privati ​​e protetti di una classe:

In C++, una funzione amico ha il vantaggio di consentire l'accesso ai membri privati ​​e protetti di una classe, che non è possibile con le normali funzioni membro. Quando è necessario eseguire operazioni sui dati privati ​​di una classe, ma non è opportuno rendere pubblici i dati, questa tecnica può essere utile.

  1. Migliora la leggibilità del codice:

Consentendo a una funzione amico di accedere a una classe’ dati privati, è possibile spostare nella funzione amico operazioni complesse o algoritmi che operano sui dati privati ​​della classe. È possibile migliorare la leggibilità del codice separando in questo modo i dettagli di implementazione dalla logica principale della classe.

  1. Consente la separazione delle preoccupazioni:

Qualche volta, potrebbe essere necessario eseguire operazioni sui dati privati ​​di una classe che non sono direttamente correlate alla sua funzionalità principale. L'uso di una funzione amico consente di separare queste preoccupazioni in funzioni separate, che migliora la modularità e la manutenibilità del codice.

  1. Può essere utilizzato per implementare l'overload dell'operatore

L'uso delle funzioni friend può essere utilizzato per implementare l'overload degli operatori in C++. Ciò consente al programmatore di definire un comportamento personalizzato per operatori come +, -, *, e altri quando vengono utilizzati in combinazione con oggetti della stessa classe.

LEGGERE  11 Passi per diventare uno YouTuber di successo

Svantaggi dell'utilizzo delle funzioni friend in C++:

  1. Rompe l'incapsulamento:

Le funzioni friend del C++ interrompono l'incapsulamento della classe, che è un grosso svantaggio. L'incapsulamento è un modo per raggruppare dati e funzioni all'interno di una singola unità (una classe). Una funzione amico può accedere ai dati privati ​​di una classe, che ne compromette l'incapsulamento.

  1. Può portare alla complessità del codice:

L'eccessivo utilizzo delle funzioni Friend può comportare complessità del codice e renderlo più difficile da comprendere e mantenere.

  1. Può portare a problemi di sicurezza:

È possibile introdurre vulnerabilità di sicurezza nel codice consentendo a una funzione amico di accedere ai dati privati ​​di una classe.

  1. Questo può portare a problemi di manutenzione:

Una funzione amico può potenzialmente violare il codice della classe in cui è dichiarata amico se viene modificata o rimossa. Ciò può portare a problemi di manutenzione e rendere più difficile l'aggiornamento e la modifica del codice.

Conclusione

Il linguaggio di programmazione C++ è stato sviluppato nei primi anni '80 ed è di alto livello, linguaggio di programmazione generico. Il linguaggio estende il linguaggio di programmazione C e supporta l'orientamento agli oggetti, procedurale, e paradigmi di programmazione generici. Il linguaggio di programmazione C++ è ampiamente utilizzato in una varietà di applicazioni, compresi i sistemi operativi, browser web, e videogiochi.

Le funzioni friend C++ sono funzioni definite al di fuori delle classi ma possono accedere ai membri privati ​​e protetti della classe in cui sono dichiarate. Una funzione friend può essere utile in determinate situazioni in cui è necessario eseguire operazioni sui dati privati ​​di una classe, ma non è opportuno rendere pubblici i dati. però, le funzioni di amicizia possono anche creare complessità del codice e problemi di sicurezza, oltre a compromettere l'incapsulamento della classe in cui sono dichiarati.

lascia un commento

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *