به برنامه ی زیر توجه کنید:
#include <iostream>
using namespace std;
void Starter(int y)
{
double a = 112.50;
double b = 175.25;
a = a / y;
b = b + 2;
cout << "y = " << y << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "b / a = " << b / a << "\n\n";
}
int main()
{
Starter(2);
Starter(2);
Starter(2);
Starter(2);
return 0;
}
نتیجه ی اجرای برنامه به صورت زیر خواهد بود:
y = 2
a = 56.25
b = 177.25
b / a = 3.15111
y = 2
a = 56.25
b = 177.25
b / a = 3.15111
y = 2
a = 56.25
b = 177.25
b / a = 3.15111
y = 2
a = 56.25
b = 177.25
b / a = 3.15111
تابع Starter() هنگام فراخوانی یک آرگومان پاس شده را دریافت می کند.همچنین تابع فراخوانی شده,آرگومان یکسانی را در چند مرتبه دریافت می کند.نتیجه را ملاحظه کنید,آرگومان پاس شده به تابع و متغیر های محلی ایجاد شده درون تابع فراخوانی شده,هربار که تابع فراخوانی می شود دارای مقدار یکسانی هستند و هنگامی که از تابع خارج شوید همان مقدار باقی می ماند.
ما می دانیم هنگامی که تابعی تعریف می شود,هر متغیر محلی تعریف شده متعلق به آن خواهد بود و توسعه ی اثر آن فراتر از بدنه ی تابع نخواهد بود.اگر می خواهید متغیر محلی ایجاد شده مقدار تغییر یافته را هنگام خروج از تابع حفظ کند,آن را به صورت استاتیک ایجاد نمایید.
برای ایجاد متغیر استاتیک,کلمه ی کلیدی static را در سمت چپ نوع داده ی متغیر تایپ نمایید.برای مثال اگر قصد داشته باشید متغیر Radius را در تابع Area() به صورت استاتیک ایجاد کنید,بنویسید:
double Area()
{
static double Radius;
}
هنگامی که یک متغیر را به صورت استاتیک ایجاد می کنید,آن با مقدار صفر مقداردهی می شود.در غیر اینصورت می توانید آن را با مقدار مورد نظر خودتان هنگام ایجاد آن مقدار دهی کنید.برای استاتیک ساختن متغیر محلی در تابع Starter()a آن را به صورت زیر ایجاد کنید:
void Starter(int y)
{
static double a = 112.50;
static double b = 175.25;
a = a / y;
b = b + 2;
cout << "y = " << y << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "b / a = " << b / a << "\n\n";
}
حال نتیجه ی اجرای برنامه به صورت زیر خواهد بود:
y = 2
a = 56.25
b = 177.25
b / a = 3.15111
y = 2
a = 28.125
b = 179.25
b / a = 6.37333
y = 2
a = 14.0625
b = 181.25
b / a = 12.8889
y = 2
a = 7.03125
b = 183.25
b / a = 26.0622
توجه داشته باشید هر متغیر محلی هنگام خروج تابع مقدار جدید تغییر یافته را حفظ می کند.از آنجاییکه آرگومان تابع در هر بار که تابع فراخوانی می شود می تواند مقادیر مختلفی دریافت کند.ما می توانیم برنامه ی خود را با پاس کردن مقادیر متفاوت به صورت زیر تست کنیم:
#include <iostream>
using namespace std;
void Starter(int y)
{
static double a = 112.50;
static double b = 175.25;
a = a / y;
b = b + 2;
cout << "y = " << y << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "b / a = " << b / a << "\n\n";
}
int main()
{
Starter(2);
Starter(5);
Starter(14);
Starter(25);
return 0;
}
نتیجه ی اجرای برنامه به صورت زیر خواهد بود:
y = 2
a = 56.25
b = 177.25
b / a = 3.15111
y = 5
a = 11.25
b = 179.25
b / a = 15.9333
y = 14
a = 0.803571
b = 181.25
b / a = 225.556
y = 25
a = 0.0321429
b = 183.25
b / a = 5701.11
توابع استاتیک
همانند یک متغیر,تابع نیز می تواند به صورت استاتیک ایجاد و یا تعریف شود.به مثال زیر توجه کنید:
#ifdef __BORLANDC__
#pragma argsused
#endif
#include <iostream>
// #include "Exercise.h"
using namespace std;
static int GetNumberOfPages()
{
int pages = 842;
return pages;
}
int main( int argc, char * argv[] )
{
cout << "This book contains " << GetNumberOfPages() << " pages";
return 0;
}
|
یک تابع می تواند برای برگرداندن یک مرجع برحسب یک مقدار ساخته شود.برای تعریف عملگر مرجع را در سمت چپ آن تایپ کنید.بعد از پردازش تابع در بدنه ی آن,اطمینان حاصل کنید که مقداری که به عنوان مرجع بازگشت داده می شود دارای نوع یکسان با تابع می باشد.به مثال زیر توجه کنید:
#ifdef __BORLANDC__
#pragma argsused
#endif
#include <iostream>
using namespace std;
int &GetNumberOfPages()
{
int pp = 842;
int &pages = pp;
return pages;
}
int main( int argc, char * argv[] )
{
cout << "This book contains " << GetNumberOfPages() << " pages";
return 0;
}
|
اگر تابع مقداری را که ممکن است دریافت کند تغییر نخواهد داد,می توانید آن را به صورت ثابت ایجاد کنید:
#ifdef __BORLANDC__
#pragma argsused
#endif
#include <iostream>
using namespace std;
const int &GetNumberOfPages()
{
int pp = 842;
int &pages = pp;
return pages;
}
int main( int argc, char * argv[] )
{
cout << "This book contains " << GetNumberOfPages() << " pages";
return 0;
}
|
مرجع,نسخه ی دوم یک متغیر از متغیر موجود می باشد که روشی برای ایجاد بیش از یک نام برای همان متغیر می باشد.برای ایجاد یک متغیر مرجع از عملگر ارجاع که نماد & می باشد استفاده نمایید.شیوه ی ساخت یا ایجاد مرجع به صورت زیر می باشد:
DataType &RefernceName = VariableName;
|
برای ایجاد متغیر مرجع نوع داده ی متغیری را که قرار است به آن ارجاع شود تایپ کرده و بین نوع داده و نام مرجع عملگر & را تایپ نمایید.برای مشخص کردن متغیری که مرجع به آدرس آن خواهد رفت از عملگر “=” استفاده کنید و سپس نام متغیر را تایپ نمایید.متغیری که به آن رجوع می شود باید قبلا وجود داشته باشد.شما نمی توانید مرجع را به صورت زیر ایجاد کنید:
int &mine;
|
کامپایلر باید بداند شما به چه متغیری رجوع خواهید کرد.به مثال زیر توجه کنید:
#include <iostream>
using namespace std;
int main()
{
int number = 228;
int &nbr = number;
return 0;
}
|
عملگر & بین نوع داده و متغیر می تواند به صورت یکی از سه حالت زیر باشد:
int& nbr;
int & nbr;
int &nbr;
|
همین که نماد & بین یک نوع داده ی معتبر و نام متغیر قرار گیرد,کامپایلر متوجه می شود که نام متغیر که در اینجا Nbr می باشد,یک مرجع است.
مرجعی که مقدار دهی شده است,مقداری یکسان با متغیری که به آن رجوع می کند دارد.می توانید مقدار متغیر را با استفاده از هرکدام از آن دو نمایش دهید:
#include <iostream>
using namespace std;
int main()
{
int number = 228;
int & nbr = number;
cout << "Number = " << number << "\n";
cout << "Its reference = " << nbr << "\n\n";
return 0;
}
|
اگر مقدار متغیر را تغییر دهید,کامپایلر مقدار مرجع را به روز رسانی خواهد کرد,بنابراین مهر دو متغیر مقدار یکسانی خواهند داشت.همچنین چنانکه مقدار مرجع را تغییر دهید مقدار متغیری که بع آن رجوع می شود نیز به روز رسانی خواهد شد.برای دسترسی به مرجع از عملگر & استفاده نکنید.نام مرجع برای کامپایلر کافی می باشد.به مثال زیر توجه کنید:
#include <iostream>
using namespace std;
int main()
{
int number = 228; // Regular variable
int& nbr = number; // Reference
cout << "Number = " << number << "\n";
cout << "Its reference = " << nbr << "\n";
// Changing the value of the original variable
number = 4250;
cout << "\nNumber = " << number;
cout << "\nIts reference = " << nbr << "\n";
// Modifying the value of the reference
Nbr = 38570;
cout << "\nNumber = " << number;
cout << "\nIts reference = " << nbr << "\n\n";
return 0;
}
|
همچنین می توانید مقدار مرجع یا متغیری که به آن رجوع می شود را از کاربر درخواست کنید.به مثال زیر توجه کنید:
قبلا دیدیم که در یک برنامه می توانید از فایل های مختلف استفاده کنید.ما در فایل های سربرگ تنها توابع را ایجاد می کنیم.همچنین در بسیار ی از موارد می توانید یک متغیر یا بیشتر در فایل های سربرگ ایجاد کنید و به آن (آن ها) در فایل دیگری دسترسی داشته باشید.یعد از ایجاد متغیر در یک فایل,می توانید از آن در فایل دیگری استفاده کنید.این فرآیند اتصال خارجی محسوب می شود.
برای انجام اتصال خارجی با یک متغیر,در بیشتر موارد کار زیادی نباید انجام دهید:
به سادگی یک متغیر در یک فایل ایجاد کرده و آن را به طور اختاری مقدار دهی نمایید.آن فایل را در فایل دیگری include# نمایید و هرطور که مناسب می دانید از متغیر استفاده کنید.به مثال زیر توجه کنید:
| Header File: Exercise.h |
#ifndef Exercise_H
#define Exercise_H
int numberOfPagesInTheBook = 842;
#endif // Exercise_H
|
| Source File: Exercise.cpp |
#ifdef __BORLANDC__
#pragma argsused
#endif
#include <iostream>
#include "Exercise.h"
using namespace std;
int main( int argc, char * argv[] )
{
cout << "This book contains " << numberOfPagesInTheBook << " pages";
return 0;
}
|
نتیجه ی اجرای برنامه بالا به صورت زیر خواهد بود:
This book contains 842 pages
|
تصور کنید قبل از دسترسی به چنین متغیری ,متغیر دیگری از از همان نوع داده ایجاد کرده اید.به مثال زیر توجه کنید:
| Header File: Exercise.h |
#ifndef Exercise_H
#define Exercise_H
int numberOfPagesInTheBook = 842;
#endif // Exercise_H
|
| Source File: Exercise.cpp |
#ifdef __BORLANDC__
#pragma argsused
#endif
#include <iostream>
#include "Exercise.h"
using namespace std;
int main( int argc, char * argv[] )
{
int numberOfPagesInTheBook;
cout << "This book contains " << numberOfPagesInTheBook << " pages";
return 0;
}
|
از آنجاییکه فایل Exercise.h دارای یک متغیر که به صورت محای با همان نام تعریف شده است می باشد,هنگامی که سعی بر دسترسی به آن داشته باشید کامپایلر آن را به صورت متغیر محلی در نظر خواهد گرفت و متغیر خارجی را ignore خواهد کرد.نتیجه ی کد بالا به صورت زیر می باشد:
This book contains 8856072 pages
|
برای نشان دادن متغیری که به تازگی ایجاد شده است و واقعا یک مرجع برای اتصال خارجی می باشد,هنگامی که آن را دوباره ایجاد می کنید ایجاد آن را با کلمه ی کلیدی extern آغاز کنید:
#ifdef __BORLANDC__
#pragma argsused
#endif
#include <iostream>
#include "Exercise.h"
using namespace std;
int main( int argc, char * argv[] )
{
extern int numberOfPagesInTheBook;
cout << "This book contains " << numberOfPagesInTheBook << " pages";
return 0;
}
|
حال آن یک متغیر خارجی در دسترس قرار گرفته خواهد بود.
1-در منوی اصلی مسیر زیر را طی کنید:
آموزش تمرینی:ساخت فایل منبع در Borland C++ BuilderX
click File -> New File…
2-در جعبه ی محاوره ای Create New File در قسمت Name کلمه ی Inertia را وارد کنید.
3-cpp را در قسمت Type انتخاب کنید.

4-Click OK
آموزش تمرینی ساخت فایل منبع در KDevelop
1-برای ساخت فایل منبع در منوی اصلی مسیر زیر را طی کنید:
click File -> New…
2-در جعبه ی محاوره ای New File روی C/C++ File (*.cpp,*.c,*.cc,*.C …) a کلیک کنید.
3-Inertia را در جعبه ی ویرایش Filename وارد کنید.
4-Add To Project را علامت زده و OK را کلیک کنید.
آموزش تمرینی:ساخت فایل منبع در Borland C++ Builder
1-براس ساخت فایل منبع در Borland C++ Builder از منوی اصلی مسیر زیر را طی کنید:
click File -> New -> Other…
2-Cpp File را از جعبه ی محاوره ای New Items کلیک کنید.
3-Click OK
4-فایل را با عنوان Inertia.cpp ذخیره کنید.
آموزش تمرینی:ساخت فایل منبع در Microsoft Visual C++ a
1-برای ساخت فایل منبع در Microsoft Visual C++ 5 و 6 در منوی اصلی مسیر زیر را طی کنید:
click File -> New…
2-C++ Source File را از صفحه ی Files property از جعبه ی محاوره ای New کلیک کنید.
3-در جعبه ی ویرایش File Name نام مورد نظر را تایپ کنید.
4-Click OK
آموزش تمرینی :ساخت فایل منبع در Dev-C++ a
1-برای ساخت فایل منبع در Dev-C++ a مسیر زیر را طی کنید:
click File -> New Source File
2-در منوی اصلی مسیر زیر را طی کنید:
click File -> Save Unit
3-در جعبه ی محاوره ای Save File مطمئن شوید که C++ Source File (.cpp)a در File As Type نمایش داده شده است.در جعبه ی متن File Name نام مورد نظر که در اینجا Inertia.cpp می باشد تایپ کنید.(جعبه ی محاوره نباید پسوند h. یا cpp. اضافه کرده باشد).
4-Click Save
آموزش تمرینی :ساخت فایل منبع در Microsoft Visual C++ .Net
1-برای ساخت فایل منبع در Microsoft Visual C++ .Net در منوی اصلی مسیر زیر را طی کنید:
click Project -> Add New Item…
2-در جعبه ی محاوره ی Add New Item مطمئن شوید Visual C++ a را در نمایش درختی Categories انتخاب کرده اید,در قسمت Templates روی C++ File (.cpp)a کلیک کنید.(آن باید به صورت قراردادی انتخاب شده باشد).
3-در جعبه ی متن Name کلمه ی Inertia به عنوان نام فایل را تایپ کرده و Open را کلیک کنید.
در تمام موارد کد های زیر را به جای محتوای فایل جایگزین کنید:
#include <iostream>
using namespace std;
#include "Inertia.h"
// Rectangle
double MomentOfInertia(const double b, const double h)
{
return b * h * h * h / 3;
}
// Semi-Circle
double MomentOfInertia(const double r)
{
const double PI = 3.14159;
return r * r * r * r * PI/ 8;
}
// Triangle
double MomentOfInertia(const double b, const double h, const int)
{
return b * h * h * h / 12;
}
double GetBase()
{
double b;
cout << "Base: ";
cin >> b;
return b;
}
double GetHeight()
{
double h;
cout << "Height: ";
cin >> h;
return h;
}
double GetRadius()
{
double r;
cout << "Radius: ";
cin >> r;
return r;
}
|
1-برای مهیا کردن برنامه جهت تست,در فایل Main.cpp تایپ کنید:
#include <iostream>
#include <string>
using namespace std;
#include "Inertia.h"
void Announce(const string Figure)
{
cout << "Enter the dimensions of the " << Figure << "\n";
}
int main()
{
double Length, Height, Radius;
Announce("rectangle");
Length = GetBase();
Height = GetHeight();
cout << "Rectangle\n"
<< "Moment of inertia with regard to the X axis: ";
cout << "I = " << MomentOfInertia(Length, Height) << "mm\n\n";
Announce("semi-circle");
Radius = GetRadius();
cout << "Semi-Circle\n"
<< "Moment of inertia with regard to the X axis: ";
cout << "I = " << MomentOfInertia(Radius) << "mm\n\n";
Announce("triangle");
Length = GetBase();
Height = GetHeight();
cout << "\nTriangle\n"
<< "Moment of inertia with regard to the X axis: ";
cout << "I = " << MomentOfInertia(Length, Height, 1) << "mm\n";
return 0;
}
|
2-پروژه را ذخیره کرده و تست کنید.
پس از ساخت فایل سربرگ,می توانید فایل دیگری برای تعریف توابع بسازید.فایلی که برای پیاده سازی توابع از فایل سربرگ استفاده می شود فایل منبع (Source file) نامیده شده و دارای پسوند cpp می باشد.
برای استفاده از کدی که در فایل سربرگ نوشته شده است,باید آن فایل را با استفاده از پیش پردازشگرinclude# و قرار دادن نام فایل در گیومه مشخص کنید.
فرآیند ساخت سربرگ و Source file بستگی به محیط برنامه نویسی شما دارد.
فایل منبع برای تعریف رفتار هدف استفاده می شود.همچنین به عنوان پیاده سازی هدف نیز محسوب می شود.
همچنین ایجاد فایل منبع نیز بستگی به محیط برنامه نویسی شما دارد.
آموزش تمرینی:ساخت یک فایل سربرگ:KDevelop
1-برای ساخت فایل سربرگ,درمنوی اصلی مسیر زیر را طی کنید:
click File -> New…
2-در جعبه ی محاوره ای New File و در قسمت General روی C/C++ Header (*.h,*.hxx)m کلیک کرده و در جعبه ی ویرایش Filename کلمه ی Inertia تایپ کنید.

3-Add To Project را علامت زده و ok را کلیک کنید.
آموزش تمرینی:ساخت فایل سربرگ در Borland C++BuilderX
1-در منوی اصلی مسیر زیر را طی کنید:
click File -> New File…
2-در جعبه ی محاوره ای Create New File,در قسمت Name کلمه ی Inertia را وارد کنید.
3-از جعبه ی Type ,حرف h را انتخاب کنید.

4-Click OK
آموزش تمرینی:ساخت فایل سربرگ در Borland C++ Builder 6
1-برای ساخت فایل سربرگ در منوی اصلی Borland C++ Builder مسیر زیر را طی کنید:
click File -> New -> Other…
2-در جعبه ی محاوره ای New Items روی Header File کلیک کنید.

3-Click OK
نام اولین فایل سربرگ در C++ Builder به صورت قرار دادی File1.h می باشد و نام های بعدی افزایش می یابند.اگر می خواهید نام فایل را تغییر دهید,باید آن را ذخیره کرده و نام مورد نظر را به آن بدهید.
4-فایل را با نام Inertia.h ذخیره کنید.
آموزش تمرینی:ساخت فایل سربرگ در Microsoft Visual C++a
1-برای ساخت فایل سربرگ در Microsoft Visual C++ 5 و 6 در منوی اصلی مسیر زیر را طی کنید:
click File -> New…
2-از صفحه ی Files property از جعبه ی محاوره ی New روی C/C++ Header FileType کلیک کرده و نام Inertia را در جعبهی ویرایش File Name وارد کنید.
3-Click OK
آموزش تمرینی:ساخت فایل سربرگ در Dev-C++a
1-برای ساخت فایل سربرگ در Dev-C++a در منوی اصلی مسیر زیر را طی کنید:
click File -> New Source File
2-در منوی اصلی مسیر زیر را طی کنید:
click File -> Save Unit
3-در جعبه ی محاوره ای Save File قسمت File As Type را به Header File (.h)a تغییر دهید.در جعبه ی متن File Name نام مورد نظر خود را که در اینجا Inertia می باشد تایپ کنید.
4-Click Save
آموزش تمرینی:ساخت فایل سربرگ در Microsoft Visual C++ .Net
1-برای ساخت فایل سربرگ در Microsoft Visual C++ .Net در منوی اصلی مسیر زیر را طی کنید:
click Project -> Add New Item…
2-در جعبه ی محاوره ی Add New Item مطمئن شوید Visual C++ a را در نمایش درختی Categories انتخاب کرده اید,در قسمت Templates روی Header File کلیک کنید.
3-در جعبه ی متن Name کلمه ی Inertia را تایپ کنید.
4-Click Open
در تمام موارد کد های زیر را به جای محتوای فایل جایگزین کنید:
همانطور که شما فایل سربرگ را می سازید,اگر شما بایک تیم بزرگ کار کنید,باید از قرار دادن فایلی که قبلا در برنامه قرار گرفته شده است خود داری کنید.++C این امکان را با درخواست از کامپایلر برای بررسی اینکه چه سربرگی یا چه بخشی از کد قبلا در برنامه قرار گرفته است را فراهم کرده است.این بررسی با استفاده از اشیایی که پیش پردازشگرها نام دارند انجام می شود.
هنگام استفاده از پیش پردازشگرها برای بررسی اینکه چه کد یا فایلی قبلا در برنامه قرار گرفته است,فایل یا بخش را با کد زیر آغاز کنید:
#ifndef WhatToCheck
|
پیش پردازشگر ها باید با نماد # همانطور که در پیش پردازشگر include# استفاده شد,آغاز شوند.پیش پردازشگر ifndef به صورت کلمه به کلمه مخفف If Not Defined به معنی اگر تعریف نشده است,می باشد.کلمه ای که در سمت راست آن قرار می گیرد برای اینکه قبلا وارد برنامه نشده باشد بررسی خواهد شد.چون ifndef# به این معناست که اگر WhatToCheck هنوز تعریف نشده است,می تواند به صورت زیر نیز نوشته شود:
#if !define WhatToCheck
|
هر دو یک معنی می دهند.در حقیقت آنچه شما از پیش پردازشگر درخواست می کنید بررسی کند که اگر کلمه ی WhatToCheck قبلا قرار نگرفته باشد,این بخش از کد را با کلمه ی WhatToCheck تعریف کند.برای انجام این کار شما تصمیم می گیرید که بخشی از کد تعیین شده بعوض کلمه ی WhatToCheck محسوب شود.بناربراین پس از پیش پردازشگر ifndef# دستور زیر قرار می گیرد:
#define WhatToCheck
|
این یعنی اگر WhatToCheck هنوز در برنامه قرار نگرفته است,توسط define# تعریف شود.
این بخش باید توسط پیش پردازشگر endif# خاتمه یابد.در این زمان شما نیاز به مشخص کردن آنچه که نیاز است خاتمه یابد ندارید,کامپایلر متوجه آن خواهد شد.
هنگام استفاده از توابع در برنامه,دانستیم که ترتیب ایجاد توابع مهم می باشد.برای مثال,شما نمی توانید تابعی را که هنوز ایجاد نشده است فراخوانی کنید (صدا بزنید).برای همین هرگاه نیاز به صدا زدن تابعی داشته باشید,باید بدانید که در کجا ساخته شده یا آیا قبلا ساخته شده است.اگر برنامه از تعداد زیادی تابع استفاده می کند,جستجوی توابع سنگین خواهد بود.در همان زمان,آن برای توابع زیادی که متغیر های یکسان به کار می برند معمولی است.اگرچه شما می توانید متغیر یکسان را توسط توابع به صورت محلی ایجاد کنید,اگر این توابع از برنامه ی یکسان باشند که نیاز به تبادل مقادیر بین آن ها باشد,شما باید برخی متغیرهای سراسری ایجاد کنید که معمولا بالای فایل قرار می گیرند و این متغیر ها برای توابعی که که به آن ها نیاز دارند قابل استفاده می باشند.
برای آسان تر ساختن مدیریت این توابع,می توانید یک فایل در جاییکه می خواهید فهرست توابع و متغیر ها در برنامه استفاده شود بسازید.چنین فایلی,فایل سربرگ (header file) نامیده می شود و دارای پسوند h می باشد.
معرفی
یک برنامه ی کامپیوتری در ابتدا یک سری از فایل هاست که برای ساخت یک برنامه در کنار هم قرار می گیرند.با تولیدات قبلی برنامه نویسی,شما باید فایل های متنی بسازید و آن ها را با پسوند c. یا cc. یا cpp. ذخیره کنید,سپس آن ها را به هم لینک (متصل) کرده و کامپایل کنید.تعداد زیادی از محیط های برنامه نویسی مدرن به شما این امکان را می دهند که فایل ها را ساخته و آن ها را به کامپایلر بدهید و کامپایلر آن ها را به صورت یک پروژه به هم لینک (متصل) خواهد کرد و قابل اجرا خواهد ساخت.در حقیقت فرآیند تغییر نکرده است,تنها سریع تر و آسان تر شده است.چون محیط های برنامه نویسی توسط کمپانی های مختلف توسعه یافته اند,هر کدام روش خود را برای ساخت فایل های ضروری,کامپایل کردن و قابل اجرا ساختن آن ها ارائه کرده اند.
هنگامی که برنامه ای می نویسید,علت اصلی استفاده از توابع تفکیک وظایف می باشد.این کار هنگامی که مشکلات رخ میدهند در برطرف کردن مشکلات موثر است.برای مثال,اگر از شما در خواست شود که برنامه ای برای پردازش سفارش های یک فروشگاه بزرگ بنویسید,می توانید یک تابع main() طولانی بنویسید که همه ی درخواست ها و سفارشات را پردازش کند,هنگامی که فروشگاه,فروشی داشته باشد و شما بخواهید تخفیف را در برنامه اعمال کنید,زمانی را برای جستجوی بخش تخفیف و محاسبه ی قیمت صرف خواهید کرد.اگر از توابع برای تفکیک وظایف استفاده کنید,به آسانی می توانید تابع ویژه ای که مربوط به تخفیف است را پیدا کنید.همه ی کاری باید انجام دهید,تغییر مقدار تخفیف است,بدون آنکه تمام برنامه را بخوانید.
آموزش تمرینی:ساخت یک فایل
1-در محیط برنامه نویسی خود یک پروژه ی جدید را آغاز کرده و نام آن را MomentOfInertia1 بگذارید.
2-اگر لازم بود,یک source file جدید بسازید و آن را با نام Exercise.cpp ذخیره کنید.