PDA

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 معمولی بتوانید از آن استفاده کنید.

موفق باشید