INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

container to store multiple types

container to store multiple types

(OP)
Is there a way I could store multiple objects of different types in a container, say, a vector or map or an array?

e.g
template <class T>
class Holder
{
    public:
        T * m_ptr;
        Holder(T * ptr)
        {
            m_ptr = ptr;
        }
};

class Cls1
{
    xxx...
};

class Cls2
{
    xxx...
};

class Cls3
{
    xxx...
};

int main()
{
    Cls1 ptr1 = new Cls1;
    Cls2 ptr2 = new Cls2;
    Cls3 ptr3 = new Cls3;

    Holder<Cls1> hobj1(ptr1);
    Holder<Cls2> hobj2(ptr2);
    Holder<Cls3> hobj3(ptr3);

    //How to store the holder objects hobj1, hobj2, hobj3
    // in a STL container or array?
}
 

RE: container to store multiple types

(OP)
I understand there is boost::any
Apart from this, is there any workaround possible with C++ standard libraries itself?

RE: container to store multiple types

Derive them from the same empty base class

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close