Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. can I dynamically convert a base class object into a derived class object?

can I dynamically convert a base class object into a derived class object?

Scheduled Pinned Locked Moved C / C++ / MFC
c++questionlearning
21 Posts 7 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Prakash Nadar

    just by casting the baseclass pointer to derived class pointer does not make the object that was created i.e. baseclass into a dereived class. Its just like calling Donkey a dog does not make donkey to bark ;). so you can do this. BaseClass* pBaseClass = new DerivedClass(); ((DerivedClass*)pBaseClass)->functionInDerivedClassOnly(); or use reinterpret_cast


    -Prakash

    T Offline
    T Offline
    toxcct
    wrote on last edited by
    #11

    hey, you posted the same thing as i did 1 hour later :sigh: where were you ? :|


    TOXCCT >>> GEII power
    [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]

    O P T 3 Replies Last reply
    0
    • S Stephen Hewitt

      Score: 1.8 (2 votes).

      How are the scores calculated? Obviously not an average as 3.6 (2x1.8) can't be obtained by adding 2 scores. Steve

      E Offline
      E Offline
      ewighell
      wrote on last edited by
      #12

      I have no idea what happened, either. I remember I voted for to 4 or 5. could someone in charge of this explain the problem? Thank you very much!!! ------------------- I am learning C++ and English

      1 Reply Last reply
      0
      • T toxcct

        hey, you posted the same thing as i did 1 hour later :sigh: where were you ? :|


        TOXCCT >>> GEII power
        [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]

        O Offline
        O Offline
        Owner drawn
        wrote on last edited by
        #13

        He reinterpreted it.;P

        Jesus Loves:rose:

        --Owner Drawn:rose: --Nothing special --Defeat is temporary but surrender is permanent --Never say quits --Jesus is Lord:rose:

        T 1 Reply Last reply
        0
        • O Owner drawn

          He reinterpreted it.;P

          Jesus Loves:rose:

          --Owner Drawn:rose: --Nothing special --Defeat is temporary but surrender is permanent --Never say quits --Jesus is Lord:rose:

          T Offline
          T Offline
          toxcct
          wrote on last edited by
          #14

          Owner drawn wrote:

          He reinterpreted it

          without quoting or refering to me ?! ;P not that sure...


          TOXCCT >>> GEII power
          [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]

          1 Reply Last reply
          0
          • P Prakash Nadar

            just by casting the baseclass pointer to derived class pointer does not make the object that was created i.e. baseclass into a dereived class. Its just like calling Donkey a dog does not make donkey to bark ;). so you can do this. BaseClass* pBaseClass = new DerivedClass(); ((DerivedClass*)pBaseClass)->functionInDerivedClassOnly(); or use reinterpret_cast


            -Prakash

            S Offline
            S Offline
            Stephen Hewitt
            wrote on last edited by
            #15

            In the example above you should use static_cast<DerivedClass*>(pBaseClass). It's safer (but still not 100% safe) as it will only compile if it's possible for BaseClasss to exist which are also DerivedClasss (there is an inheritance relationship between them). Steve

            P 1 Reply Last reply
            0
            • T toxcct

              hey, you posted the same thing as i did 1 hour later :sigh: where were you ? :|


              TOXCCT >>> GEII power
              [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]

              P Offline
              P Offline
              Prakash Nadar
              wrote on last edited by
              #16

              toxcct wrote:

              hey, you posted the same thing as i did 1 hour later

              I did not read the other solutions ;)


              -Prakash

              1 Reply Last reply
              0
              • S Stephen Hewitt

                In the example above you should use static_cast<DerivedClass*>(pBaseClass). It's safer (but still not 100% safe) as it will only compile if it's possible for BaseClasss to exist which are also DerivedClasss (there is an inheritance relationship between them). Steve

                P Offline
                P Offline
                Prakash Nadar
                wrote on last edited by
                #17

                Stephen Hewitt wrote:

                In the example above you should use static_cast(pBaseClass)

                yes, correct. Thanks.


                -Prakash

                1 Reply Last reply
                0
                • T toxcct

                  hey, you posted the same thing as i did 1 hour later :sigh: where were you ? :|


                  TOXCCT >>> GEII power
                  [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]

                  T Offline
                  T Offline
                  ThatsAlok
                  wrote on last edited by
                  #18

                  toxcct wrote:

                  where were you ?

                  Me, Sleeping :)

                  "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                  cheers, Alok Gupta VC Forum Q&A :- I/ IV

                  T 1 Reply Last reply
                  0
                  • S Stephen Hewitt

                    Score: 1.8 (2 votes).

                    How are the scores calculated? Obviously not an average as 3.6 (2x1.8) can't be obtained by adding 2 scores. Steve

                    T Offline
                    T Offline
                    toxcct
                    wrote on last edited by
                    #19

                    the scores are ponderated with the level of the members... - a bronze member votes for 1 voice - a silver member votes for 2 voices - a gold member votes for 4 voices - a platinum member votes for 8 voices


                    TOXCCT >>> GEII power
                    [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]

                    S 1 Reply Last reply
                    0
                    • T ThatsAlok

                      toxcct wrote:

                      where were you ?

                      Me, Sleeping :)

                      "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                      cheers, Alok Gupta VC Forum Q&A :- I/ IV

                      T Offline
                      T Offline
                      toxcct
                      wrote on last edited by
                      #20

                      :zzz::zzz: zzzZZZZZZZzzzzz SShhhhhhh :zzz::zzz:


                      TOXCCT >>> GEII power
                      [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]

                      1 Reply Last reply
                      0
                      • T toxcct

                        the scores are ponderated with the level of the members... - a bronze member votes for 1 voice - a silver member votes for 2 voices - a gold member votes for 4 voices - a platinum member votes for 8 voices


                        TOXCCT >>> GEII power
                        [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]

                        S Offline
                        S Offline
                        Stephen Hewitt
                        wrote on last edited by
                        #21

                        Ahhh Steve

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups