Дефиниране на функции
Дефиницията на една функция има следния синтаксис:
В следния фрагмент е дефинирана функция, която изчислява площта на окръжност, ако е даден радиусът на окръжността.
#include <iostream> #include <iomanip> #include <cmath> using namespace std; const double PI=3.141592653589793; double area(double r) { return PI*r*r; } int main(int argc,char* argv[]) { cout << setprecision(128) << M_PI << endl; }
Радиусът на окръжността се предава като параметър на функцията. В тялото на функцията се извършват изчисленията и площта на окръжността се връща като резултат от функцията.
Да разгледаме още един пример. Нека са дадени две точки в равнината – [latex]p_1[/latex] и [latex]p_2[/latex].
Нека в дадена декартова координатна система координатите на точката [latex]p_1[/latex] са [latex](x_1,y_1)[/latex], а координатите на точката [latex]p_2[/latex] са [latex](x_2,y_2)[/latex]. Тогава, разстоянието между двете точки може да се изчисли като се използва теоремата на Питагор (вж. фигурата):
[latex]d=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}.[/latex]
В следващия фрагмент е дефинирана функция, която изчислява разстоянието между две точки в равнината.
#include <cmath> using namespace std; double distance(double x1, double y1, double x2, double y2) { double dx=x2-x1; double dy=y2-y1; return sqrt(dx*dx+dy*dy); }
Като параметри на функцията се предават координатите на точките в равнината. Като резултат от функцията се връща разстоянието между точките. За намиране на разстоянието в ред 8 се използва функцията sqrt
, която изчислява корен квадратен. Тази функция е декларирана в заглавния файл <cmath>
, който е част от стандартната библиотека
[note]Всички типове и функции, дефинирани в стандартната библиотека се намират в пространството от имена std
. За да се включи това пространство от имена се използва конструкцията using namespace std;
(вж. ред 2). Повече за пространството от имена виж в раздел \ref{section-namespace}}.
[/note]
Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране