PDA

View Full Version : سوال: مشکل من در این کد



GENERAL IRAJ
چهارشنبه 02 اسفند 1391, 00:27 صبح
با سلام خدمت دوستان و اساتید.
در کد زیر کلاسی تعریف شده است برنامه درست کار می کند ، فقط وقتی که تابع reverse را به برنامه اضافه
میکنم (برای معکوس کردن صورت و مخرج کسر) برنامه error می دهد.


#include <conio>
#include <iostream.h>
class ratio
{
public:
void input(int ,int );
void print();
void cal();
void reverse();
private:
int num,den;
};
void ratio :: input(int m,int n)
{
num = m;
den = n;
}
void ratio :: print()
{
cout << num<<'/'<<den;
}
void ratio :: cal()
{
cout <<num/den;
}
void reverse()
{
int x;
x= num;
num = den;
den = x;
}
int main()
{
ratio r;
cout<<"this is your input number:\n";
r.input(7,5);
cout<<endl;
r.print();
cout<<endl;
r.cal();
cout<<endl;
r.reverse();
cout<<endl;
r.print();
getch();
return 0;
}




error های برنامه اینجا است:

Error: noname03.cpp(37,8):Undefined symbol 'num'

Error: noname03.cpp(38,11):Undefined symbol 'den'

Warn : noname03.cpp(40,2):'x' is declared but never used

:گیج:

#target
چهارشنبه 02 اسفند 1391, 00:44 صبح
خط 26 رو تغییر بدی به
void ratio::reverse()
نمیشه ؟

sr2m72
چهارشنبه 02 اسفند 1391, 12:16 عصر
سلام
تابع reverse عضوي از كلاس است!
همون طور كه جناب target# فرمودند بايد مشخص بشه كه تابع reverse عضو كلاس ratio است.
وگرنه نميشه با متغيرهاي از نوع كلاس ratio بهش دسترسي پيدا كرد!

موفق باشيد!

GENERAL IRAJ
چهارشنبه 02 اسفند 1391, 23:57 عصر
از دوستان بابت پاسخ هایشان کمال تشکر را دارم.