Սովորեք ծրագրավորել. Ո՞րն է տարբերությունը dot օպերատորի (.) Եւ -> միջև C ++ ում: [Կրկնօրինակել]?


պատասխանել 1:

Կետային օպերատորը հնարավորություն է տալիս մուտք գործել օբյեկտի այն տարր, որում ձախ օպերան օբյեկտի անուն է կամ հղում օբյեկտի վրա: Սլաքի օպերատորը հնարավորություն է տալիս մուտք ունենալ դեպի ձախ օպերան (պարզ ցուցիչ) մատնանշված օբյեկտի անդամին:

Բացի այդ, սլաքի օպերատորը կարող է ծանրաբեռնված լինել: Այսպիսով, եթե ձախ օպերան պարզ ցուցիչ չէ, այլ օբյեկտ, ապա օպերատորը կարող է ունենալ այլ նշանակություն: Այնուամենայնիվ, արդյունքը պետք է լինի պարզ ցուցիչ կամ հղում առկա օբյեկտին (որի համար սահմանվում է նաև մուտքի օպերատորը): Operիշտ օպերան պետք է լինի սինակտիկորեն այս օբյեկտի անդամ (գոյություն ունեցող անդամի նույնացուցիչ):

Խելացի ցուցիչները սլաքի օպերատորի խելամիտ ծանրաբեռնվածության լավ օրինակ են: Սրանք դասեր են, որոնք պարունակում են պարզ ցուցիչ և ավելացնում են ավելի շատ գործառույթներ (դինամիկ օբյեկտի կամ տեղեկանքի հաշվարկի եզակի սեփականություն): Սլաքի օպերատորը ծանրաբեռնված է խելացի ցուցիչներով: Այսպիսով, դուք կարող եք օգտագործել այն հիմքի օբյեկտին մուտք գործելու համար, ինչպես կասեք այդ օբյեկտի պարզ ցուցիչով:


պատասխանել 2:

Ես ձեզ պարզ բառերով կասեմ ...

Օգտագործեք կետային օպերատորը և մուտք գործեք որևէ կառույցի անդամներ

Օգտագործեք սլաքի օպերատորին `ցուցիչի միջոցով մի կառույցի տարրեր մուտք գործելու համար:

Օրինակ, հաշվի առեք հետևյալ կառուցվածքը ………

կառուցվածքային ուսանող {int regNo; char անունը [25]; std;

«Sthail» արժեքը std օբյեկտի անվանման տարրին վերագրելու համար գրեք հետևյալը.

strcpy (լռելյայն անուն ՝ «suhail»);

Եթե ​​ptr_std- ը տիպի ուսանողի օբյեկտի ցուցիչ է, և «suhail» արժեքը նշանակում եք std օբյեկտի անվանման մասին, ապա պետք է գրել հետևյալ ...

strcpy (ptr_std-> անունը, "suhail");

պատասխանել 3:

Սլաքի օպերատորը այսպես կոչված սինթետիկ շաքար է. Մի բան, որն իրականում անհրաժեշտ չէ, բայց ծրագիրը հեշտացնում է տպել և կարդալ: Հայտարարությունը

p-> դաշտ

նույնական է

(* p). դաշտ

եթե p- ն իրականում ցուցիչ է: Եթե ​​դա օբյեկտ է, փոխարենը կազմողը զանգահարում է օպերատորին `փոխարենը>> () մեթոդ: