You should overload the = operator so you can simply do this.

CObject *O1 = new CObject( 0, 1, "Hello" );
CObject *O2 = new CObject( );

O2 = O1;

Now O2 is an exact copy with the same values but in a different location in
memory.

----- Original Message -----
From: "Varlock" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, February 25, 2002 3:36 AM
Subject: Re: [hlcoders] Dum C++ pointer question


>     A pointer is just a variable containing the address to a location in
> memory, so it would be expected that assigning the pointer like that would
> just make ob2 point to ob1. To do what you want to do, I would recommend a
> copy constructor. You could also overload the assignment operator.
>
> class CObject
> {
> public:
>     // blah blah blah
>
>     CObject( const CObject &copy );
> };
>
> CObject :: CObject( const CObject &copy )
> {
>     m_iInteger = copy.m_iInteger;
>     m_flFloat = copy.m_flFloat;
>
>     // assign any other values here
> }
>
>     I think that's about it. Watch out for pointers and strings in the
copy
> constructor, since you probably don't want to just assign them like above.
> You probably want to use functions like strcpy and memcpy for those.
>
> - Varlock
>
> ----- Original Message -----
> From: "Tom" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, February 25, 2002 12:26 AM
> Subject: [hlcoders] Dum C++ pointer question
>
>
> > This is a multi-part message in MIME format.
> > --
> > [ Picked text/plain from multipart/alternative ]
> > Is there anyway to make another isntance of an object by using another
> objects pointer as a base?
> >
> > So I mean like if I have:
> >
> > CObject *ob1 = new Object(blah,blah,blah,blah);
> >
> > and then I want ob2 to be exactly the same as ob2, is it possable just
to
> copy ob1? (i.e. dont need to write everything out).
> >
> > I tried just doing
> > CObject *ob2 = ob1, but then ob2 is actually ob1 and you end up with two
> pointers to one object and not two pointers to two objetcs
> > --
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to