Appearance
Funcții
Sintaxa - Definirea unei funcții:
ANTET_FUNCȚIE
CORP_FUNCȚIE
Sintaxă Antet funcție:
tipDeReturnat numeFuncție(listaParametrilor)
Obs: tipDeReturnat este tipul de date pe care vreau să-l returnez (sau void dacă nu doresc să returnez o valoare).
cpp
Ex de funcție void :
#include <iostream>
using namespace std;
void salut(){
cpp
cout << "Salut!";}
cpp
int main(){
cpp
salut(); // aici se apelează funcția; se afișează “Salut!”
return 0;}
Sintaxa lista parametrilor:
tipParametru1 numeParametru1, …, tipParametruK numeParametruK
(dacă doresc K parametri)
cpp
Ex: int a, float x
// o lista de parametri - avem 2 parametri
// primul parametru - se numește a și este de tip int
// al 2 lea parametru - se numește x și este de tip floatObs: Lista parametrilor poate fi goală.
Obs: Parametru = argument (parametru și argument sunt sinonime)
Obs: Funcție = subprogram (funcție și subprogram sunt sinonime)
Sintaxă returnare a unei valori:
cpp
return expresie;Obs: Return face ca funcția să dea înapoi ca rezultat expresia.
Obs: Return oprește execuția funcției !
Obs: Pot folosi instrucțiunea return într-o funcție void pentru a opri mai devreme execuția.
cpp
#include <iostream>
using namespace std;
void salut(bool spuneLaRevedere){
cpp
cout << "Salut!" << endl;
if (spuneLaRevedere == 0)
return; // daca conditia e adevarata se termina functia
// ajung aici cu executia doar daca conditia de mai sus este FALSA
cout << "Ciao!";
return;
// nu se va executa niciodata !!!
cout << "Abracadabra!";}
cpp
int main(){
cpp
salut(1); // aici apelez functia
return 0;}
cpp
#include <iostream>
#include <cstring>
using namespace std;
int main(){
cpp
cout << patrat(13);
// EROARE : patrat was not declared in this scope
// compilatorul parcurge fișierul sursă de sus în jos
// prin urmare, în acest exemplu,
// compilatorul afla de funcția pătrat de abia după funcția main
return 0;}
cpp
int patrat(int a){
cpp
return a * a;}
Obs: Pot apela o funcție doar dacă a fost declarată/definită înainte!! Altfel, obțin eroare de compilare ca în exemplul de mai sus.
Sintaxa - Declararea funcție:
cpp
ANTET_FUNCTIE ;
(scriu antetul și apoi pun ; )
#include <iostream>
using namespace std;
int patrat(int a); // DECLARARE
int main(){
cpp
cout << patrat(5);
// Se afișează 25
// Acum se compilează, deoarece înainte de main,
// functia patrat este declarata
return 0;}
cpp
// DEFINITIE
int patrat(int a){
cpp
return a * a;}
Obs: Pentru a nu conta ordinea în care definesc funcțiile, mai intai le declar (pe toate) și apoi le definesc.