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

Reply via email to