View Full Version : ++ براي اعداد Float
ICEMAN
یک شنبه 16 تیر 1387, 12:56 عصر
سلام....
چطور ميشه يه عدد Float رو يكي يكي اضافه كرد
1.1
1.2
1.3
و ...
Nima_NF
یک شنبه 16 تیر 1387, 15:30 عصر
احتمالا منظورتان 0.1 بوده، خوب در هر مرتبه یک دهم به آن اضافه کنید و یا یک تابع تعریف کنید با نام incr که این کار را انجام دهد. (توجه داشته باشید که عملگر افزایشی ++ یک قطعه کدی هست که در سطح رجیستر های CPU عمل می کند)
اگر هم می خواهید این کار را با عملگر ++ انجام دهید، می توانید یک کلاس تعریف کنید که متغیری از نوع float نیز داشته باشد و سپس عملگر ++ را در آن سربار گذاری کنید که یک دهم در هر فراخوانی اضافه کند. مثلا کلاسی با نام Float
ICEMAN
سه شنبه 18 تیر 1387, 10:54 صبح
ميشه يه راهنمايي بكني
Nima_NF
سه شنبه 18 تیر 1387, 12:23 عصر
این هم یک مثال برای تعریف کلاس Float:
class Float
{
public:
Float() { _fl = 0; }
Float(float num);
Float &operator++();
float GetValue() { return _fl; }
private:
float _fl;
};
Float& Float::operator++( )
{
_fl += (float) 0.1;
return *this;
}
Float::Float(float num)
{
_fl = num;
}
#include <stdio.h>
#include <conio.h>
#include <stdio.h>
int main()
{
Float flt(1.1);
flt++;
float x = flt.GetValue();
getch();
return 0;
}
ضمنا به جای متد GetValue می توانید عملگر = را سربارگذاری کنید تا مانند مقادیر float معمولی بتوانید از آن استفاده کنید.
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.