Դիմում եմ c++ ից լավ գլուխ հանողներին.
Ինչնա պատճառը որ static_cast ը չի ձևափոխում վիրտուալ բազային ցուչի տիպից ածանցվածի ցուցչի տիպի, այն դեպքույմ երբ նորմալ ձևափոխումա ոչ վիրտուալ բազային դասերի համար՞:
օրինակ (Ստրաուստրուպ 15.4.2.1).
calss A{};
class B:public virtual A{};
class C:public virtual A{};
class D:public B,public C{};
D d;
A * pa=& d;
B * pb=d;
D * pd=ststic_cast<D*>(pb); // es chisht a
pd=ststic_cast<D *>(pa); // ??? stex talisa sxal ???




Մեջբերել
Էջանիշներ