logo

Pretvorba tipov v C++

Pretvorba tipa je v bistvu pretvorba iz enega tipa v drugega. Obstajata dve vrsti pretvorbe tipa:

    Implicitna pretvorba tipa Znana tudi kot 'samodejna pretvorba tipa'.
    • Izvede ga prevajalnik sam, brez kakršnega koli zunanjega sprožilca s strani uporabnika.
    • Na splošno se zgodi, ko je v izrazu prisoten več kot en tip podatkov. V takih pogojih pride do pretvorbe tipa (promocija tipa), da se prepreči izguba podatkov.
    • Vsi podatkovni tipi spremenljivk so nadgrajeni na podatkovni tip spremenljivke z največjim podatkovnim tipom.
       bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double>
    • Možno je, da implicitne pretvorbe izgubijo informacije, znaki se lahko izgubijo (ko je predznak implicitno pretvorjen v nepredznak) in lahko pride do prelivanja (ko je long long implicitno pretvorjen v float).

    Primer implicitne pretvorbe vrste:




    java ustvari naključno število





    // An example of implicit conversion> > #include> using> namespace> std;> > int> main()> {> >int> x = 10;>// integer x> >char> y =>'a'>;>// character c> > >// y implicitly converted to int. ASCII> >// value of 'a' is 97> >x = x + y;> > >// x is implicitly converted to float> >float> z = x + 1.0;> > >cout <<>'x = '> << x << endl> ><<>'y = '> << y << endl> ><<>'z = '> << z << endl;> > >return> 0;> }>



    >

    java jedro java
    >

    Izhod:

     x = 107 y = a z = 108>
    Eksplicitna pretvorba tipa : Ta postopek se imenuje tudi pretvorba tipa in ga določi uporabnik. Tukaj lahko uporabnik tipizira rezultat, da ga naredi za določen tip podatkov.

    V C++ je to mogoče storiti na dva načina:

    • Pretvarjanje po dodelitvi: To storite tako, da izrecno definirate zahtevani tip pred izrazom v oklepaju. To lahko štejemo tudi za silovit vložek.

      Sintaksa:

      (type) expression>

      kje vrsto označuje podatkovni tip, v katerega se pretvori končni rezultat.

      primer:




      // C++ program to demonstrate> // explicit type casting> > #include> using> namespace> std;> > int> main()> {> >double> x = 1.2;> > >// Explicit conversion from double to int> >int> sum = (>int>)x + 1;> > >cout <<>'Sum = '> << sum;> > >return> 0;> }>

      spletno mesto, kot je coomeet
      >

      >

      Izhod:

       Sum = 2>
    • Pretvorba z uporabo operaterja Cast: Operater Cast je an unarni operator ki prisili, da se en podatkovni tip pretvori v drug podatkovni tip.
      C++ podpira štiri vrste ulitkov:

      1. Statična zasedba
      2. Dynamic Cast
      3. Const Cast
      4. Reinterpret Cast
        1. primer:




          #include> using> namespace> std;> int> main()> {> >float> f = 3.5;> > >// using cast operator> >int> b =>static_cast><>int>>(f);> > >cout << b;> }>

          >

          >

          pd.združiti
          Izhod:

           3>

Prednosti pretvorbe tipa:

  • To naredimo zato, da izkoristimo določene lastnosti hierarhij tipov ali predstavitev tipov.
  • Pomaga izračunati izraze, ki vsebujejo spremenljivke različnih tipov podatkov.