سربارگذاری در مورد عملگرها صدق میکنه نه در مورد کلیدواژهها مثل 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;
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)