PDA

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



GENERAL IRAJ
سه شنبه 01 اسفند 1391, 23: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
سه شنبه 01 اسفند 1391, 23:44 عصر
خط 26 رو تغییر بدی به
void ratio::reverse()
نمیشه ؟

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

موفق باشيد!

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