Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет353/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   349   350   351   352   353   354   355   356   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

#include  

#include  

class A{                          //   A

   public: virtual ~A(){};};      //  /  \

class B: public virtual A{};      // B   C

class C: public virtual A{};      //  \  /

class D: public B, public C{};    //    D

void demo(A *a){

   D* d = dynamic_cast(a); 

   if (d) { ... }

}

int main(){

   D *d = new D; demo(d); 

   return 0;

}

Сілтемелерді түрлендіру

Аргумент-сілтеме үшін түрлендіру операциясының мағынасы 

нұсқауыштарқа қарағанда өзгешелеу болып келеді. Сілтеме əрқашанда 

нақты көрсетілетін объектіге нұсқайтын болғандықтан, 



dynamic_cast

 опе-


рациясы дəл осы объектінің типіне түрлендіруді орындауы керек. Келтіру 

операциясының дұрыстығы автоматты түрде тексеріледі, сəйкессіздік 

жағдайында 

bad_cast

 аластамасы туындайды:





Достарыңызбен бөлісу:
1   ...   349   350   351   352   353   354   355   356   ...   642




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет