|
: Sinflarni yaratishda operatorlarni qayta yuklash mexanizmidan unumli foydalanish
|
bet | 2/4 | Sana | 21.12.2023 | Hajmi | 106,51 Kb. | | #125890 |
Bog'liq DASTURLASH 52: Sinflarni yaratishda operatorlarni qayta yuklash mexanizmidan unumli foydalanish.
C # har qanday dasturlash tili singari, o'rnatilgan turlarda asosiy operatsiyalarni bajarish uchun ishlatiladigan tayyor leksemalar to`plamiga ega. Masalan, + operatsiyasini ikkita butun sonni qo`shishga uchun ishlatish mumkinligi ma'lum:
/ Butun sonlar bilan + operatsiyasi.
int a = 100;
int b = 240;
int c = a + b; // c endi 340 ga teng
Bu erda hech qanday yangilik yo'q, lekin siz bir xil operatsiyani C # o'rnatilgan ma'lumotlarning aksariyatiga qo'llash mumkin deb o'ylaganmisiz? Masalan, kodni quyidagicha ko'rib chiqing:
// satrlar bilan + operatsiyasi.
satr si = "Salom";
satr s2 = "dunyo!";
satr s3 = si + s2; // s3 endi "Salom dunyo!"
Binar operatorlarni qayta yuklash
namespace ConsoleApplication1
{
class MyArr
{
// Uch o`lchovli fazoda koordinatalar
public int x, y, z;
public MyArr(int x = 0, int y = 0, int z = 0)
{
this.x = x;
this.y = y;
this.z = z;
}
Biri char - uni ko'rib chiqdik. Ikkinchisi int dir. Mashinalarning arhitekturasi qanday kattalikda bo'lsa, int tipining ham kattakigi huddi shunday bo'ladi. 16 bitlik mashinalarda int 16 bit edi. Hozirda esa int ning uzunligi 32 bitdir. int (integer - butun son) tipi charga o'hshaydi. Farqi bir baytdan kattaligidadir. 16 bitli int ning sig'imi -32768 dan +32767 gachadir. 32 bitli int esa -2 147 483 648 dan +2 147 483 647 gacha o'rin egallaydi. Bu ikki butun son tipidan tashqari C++ da ikki tur vergulli, (nuqtali) yani haqiqiy son tipi mavjud. Bulardan biri float, hotirada 4 bayt joy egallaydi.
Ikkinchisi esa double, 8 bayt kattalikka ega. Bularning harakteristikalari quyidagi jadvalda berilgan. Ushbu tiplar bilan ishlaganda unsigned(ishorasiz, +/- siz), signed (ishorali) long (uzun) va short (qisqa) sifatlarini qo'llasa bo'ladi. unsigned va signed ni faqat butun son tiplari bilan qo'llasa bo'ladi.
|
| |