السلام عليكم
فى بداية تعلمى ل ++C
وجدت مثال فى كتاب C++ primer يحتوى على دالة function خارج الدالة الرئيسية main
ولكنها ايضا ليست مضمنة داخل فئة class
والمثال كالتالى
# include <iostream>
using namespace std;
#include <cmath>
double power(double,double);
int main()
{
double base;
double power;
cout << "Enter the number : ";
cin >> base;
cout << "Enter the power number : ";
cin >> power;
cout << base
<< " ^ "
<< power
<< " = "
<< power(base,power)
<< endl;
cin.get();
cin.get();
return 0;
}
double power(double b,double e)
{
return std::pow(b,e);
}وعند عمل ترجمة compile للملف ينتج خطأ
كالتالى
ولم يعمل هذا الكود الا بعد اضافة هذه الدالة الى فئة ثم استدعاء كائن object من هذه الفئة ثم استدعاء الدالة power من خلاله
اى بعد تعديل الشفرة لتصبح كالتالى
# include <iostream>
using namespace std;
#include <cmath>
double power(double,double);
class Mine
{
public:
double power(double b,double e)
{
return std::pow(b,e);
}
};// end of class mine
int main()
{
double base;
double power;
Mine myMine; // create object of class mine
cout << "Enter the number : ";
cin >> base;
cout << "Enter the power number : ";
cin >> power;
cout << base
<< " ^ "
<< power
<< " = "
<< myMine.power(base,power)
<< endl;
cin.get();
cin.get();
return 0;
}علما بانى استخدم GCC Compiler
فهل هذه مشكلة فى المترجم الخاص بى
ام انها خطأ فى الكتاب (احتمال بعيد جدا)
ارجو المساعدة لانها لو كانت خطأ فى المترجم compiler فربما يتسبب لى فى تعلم خاطئ لهذه اللغة
وهذه طبعا مشكلة(ما بنى على باطل فهو باطل)
تحياتى



