اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

استفاده از پیشوندهای long و short برای داده‌های کاربر

–1 امتیاز
114 نمایش

برای تعریف اعداد صحیح می‌تونیم به صورت زیر عمل کنیم


short int x = 100;
long int y = 10000000;

بعد مثلاً می‌شه این دو تا رو با هم جمع کرد

long int z = x + y;

من می‌دونم که می‌شه عمل جمع رو برای یه کلاس که خودم نوشتم سربارگذاری کنم. سوالم اینه که نمی‌شه long و short رو هم برای کلاسم سربارگذاری کنم؟
یک مشکل در مورد C++ این است که هم‌اکنون گرایشی قوی در زبان وجود دارد که شما را وادار می‌کند پیش از انجام هر کاری، همه‌ی جوانب آن را بدانید. (Larry Wall)
پرسیده شده جمعه ۳ آذر ۱۳۹۱ در C++ توسط CPP_Crawler2  
بازتگ شده پنجشنبه ۲۲ فروردین ۱۳۹۲ توسط admin

-۱ به این دلیل که تعریف سربارگذاری خودش مشخص می‌کنه که این کار نشدنیه

1 پاسخ

0 امتیاز
 
بهترین پاسخ

سربارگذاری در مورد عملگرها صدق می‌کنه نه در مورد کلیدواژه‌ها مثل short و long. با این حال یه ترفند می‌شه به کار برد

template <typename T>
class C
{
    private:
        union VAR { int I; long int L; short int S; } var1;
    C()
    {
        if(sizeof(T) == sizeof(short) // use short int of union
        else if(sizeof(T) == sizeof(long) // use long int of union
        else // use int of union
    }
};

حالا هنگام ساخت شی

C<short> C1;
C<long> C2;

حتی می‌شه جلوتر رفت و نوشت

typedef C<short> short_C;
typrdef C<long> long_C;
typedef C<int> normal_C;
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده شنبه ۲۴ فروردین ۱۳۹۲ توسط prodo  
انتخاب شده شنبه ۱۸ خرداد ۱۳۹۲ توسط admin