Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

لماذا يقبل المترجم تغيير القيمة الثابتة التي نرسلها للدالة في سي بلس بلس؟

في درس الثوابت (برمجة كائنية) في لغة السي بلس بلس، لماذا يقبل المترجم تغيير القيمة الثابتة التي نرسلها للدالة في حال الإرجاع return؟

#include <iostream>
using namespace std;

// أيضاً double و عند استدعاءها يجب أن نمرر لها إسم متغير ثابت نوعه double ترجع قيمة نوعها finalPrice هنا قمنا بتعريف دالة إسمها
double finalPrice(const double n)
{
  // هنا كتبنا معادلة القيمة التي سترجعها الدالة و التي ستعطي في النهاية قيمة العدد الذي نمرره لها - 20% منها
  return n - (n * 0.2);
}

// main() هنا قمنا بتعريف الدالة
int main()
{
  // يمثل سعر منتج و قيمته تساوي 50 price هنا قمنا بتعريف متغير إسمه
  const double price = 50;
  // و طباعة النتيجة النهائية التي سيتم إرجاعها على أنها السعر النهائي بعد الحسم finalPrice() للدالة price هنا قمنا بتمرير قيمة المتغير 
  cout << "Price after 20% sold = " << finalPrice(price) << "$";
  return 0;
}

أقصد لم لا يمكن كتابتها بهذه الطريقة؟

n = n - (n * 0.2);
return n;

تعليقات 1

أضف تعليق

يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.