CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3

Threaded View

  1. #1
    Join Date
    Dec 2010
    Posts
    907

    Indirectly inherited class push_back's to std::vector

    Here is the pseudocode:
    Code:
    class Object
    {
    };
    
    class Goods : public Object
    {
    };
    
    class Pallet : public Goods
    {
        Pallet(const Pallet& _p) { this->mesh = _p.mesh; }
    };
    
    
    class myDX9Widget {
    std::vector<Object*> m_vRenderObjects;
    };
    
    SkinnedMesh *palletMesh = new SkinnedMesh();
    Pallet *pallet = new Pallet(palletMesh);
    
    m_vRenderObjects.push_back(pallet);      // Error here
    And BTW, if I need to use the copy constructor
    Code:
     
    class Lorry : public Object
    {
         myDX9Widget *mOwner;
         Pallet *GeneratePallet() 
         {
            Pallet *pallet = new Pallet();   // should have used a copy constructor here, 
    //but i don't have a reference of Pallet,
    // anywhere I should store it if you were programming a warehouse simulator....
            return pallet;
         }
    }
    This is triggered when a TruckArrive Event happens...

    Code:
    class TruckArrive
    {
        void OnUpdate(float dt)
        {
           if (m_blorryHasParked)
           {
              Lorry *lorry = dynamic_cast<Lorry*>(Actor);
              Pallet *pallet = lorry->GeneratePallet();
              lorry->mOwner->m_vRenderObjects.push_back(pallet);
           }
        }
    
    }
    Any comments are welcome!
    Jack
    Last edited by lucky6969b; June 18th, 2013 at 06:33 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured