مفهوم تابع دوست (Friend Function) در C++
توضیحات:
تابع دوست یک تابع است که به عنوان دوست یک کلاس تعریف میشود و به آن اجازه میدهد تا به دادههای خصوصی (private) و محافظت شده (protected) کلاس دسترسی داشته باشد. این به معنی این است که تابع دوست میتواند به داخل کلاس دسترسی داشته باشد و از ویژگیها و روشهای خصوصی و محافظت شده آن استفاده کند.
برای تعریف یک تابع دوست، تابع را به عنوان یک تابع عادی خارج از کلاس تعریف کرده و سپس با استفاده از کلمه کلیدی friend
آن را به عنوان دوست کلاس مورد نظر تعریف میکنیم. به عنوان مثال:
class MyClass {
private:
int privateData;
public:
MyClass(int data) : privateData(data) {}
friend void friendFunction(MyClass obj);
};
void friendFunction(MyClass obj) {
cout << "Accessing private data: " << obj.privateData << endl;
}
int main() {
MyClass obj(10);
friendFunction(obj); // خروجی: Accessing private data: 10
return 0;
}
در این مثال، تابع friendFunction
به عنوان دوست کلاس MyClass
تعریف شده است و میتواند به داده خصوصی privateData
کلاس MyClass
دسترسی داشته باشد. در تابع friendFunction
میتوانیم به داده privateData
دسترسی پیدا کرده و آن را چاپ کنیم.
توجه داشته باشید که استفاده از توابع دوست باید با احتیاط انجام شود، زیرا این امکان به توابع خارجی دسترسی به دادههای خصوصی کلاس میدهد و ممکن است امنیت کد را به خطر بیندازد. بهتر است از توابع دوست تنها در صورت لزوم و با دقت استفاده شود.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد