Re: Copy of derived object from pointer to base
From: Larry Brasfield (donotspam_larry_brasfield_at_hotmail.com)
Date: 10/12/04
- Next message: Richard Blewett [DevelopMentor]: "Re: baffled by exception"
- Previous message: Bonj: "Re: baffled by exception"
- In reply to: Sigurd Stenersen: "Re: Copy of derived object from pointer to base"
- Next in thread: Sigurd Stenersen: "Re: Copy of derived object from pointer to base"
- Reply: Sigurd Stenersen: "Re: Copy of derived object from pointer to base"
- Reply: Igor Tandetnik: "Re: Copy of derived object from pointer to base"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 12 Oct 2004 09:37:43 -0700
"Sigurd Stenersen" <sigurds@utvikling.com> wrote in message news:%237Po%23fHsEHA.3588@tk2msftngp13.phx.gbl...
> Larry Brasfield wrote:
>> "Sigurd Stenersen" <sigurds@utvikling.com> wrote in message
>>> class Base
>>> {
>>> public:
>>> virtual Base *Clone() { return new Base(*this); }
>>> };
>>>
>>> class Derived : public Base
>>> {
>> #if 0
>>> virtual Base *Clone() { return new Derived(*this); } #endif
>>
>> virtual Derived *Clone() { return new Derived(*this); }
>>> };
>>
>> The reason to return a pointer whose type is pointer to the
>> derived class is to make the Clone() method usable, without
>> casting, when the result is known to be a subclass of Base.
>
> Sure, but that doesn't work on all compilers.
It works on all C++ compilers, (where 'C++' is as defined
by the current ISO standard).
> It certainly doesn't work on
> mine (VS6). Is it really legal C++ ?
Yes. There is even a name for this relationship among
methods along a class hierarchy, but I've forgotten it.
>> Proper support of this long time C++ feature came late
>> to MSVC++, arriving with v7.
>
> Ah, well. Does it allow for any return type, or just derived return types ?
The return type has to have the original (base) virtual
method's return type as a base class.
-- --Larry Brasfield email: donotspam_larry_brasfield@hotmail.com Above views may belong only to me.
- Next message: Richard Blewett [DevelopMentor]: "Re: baffled by exception"
- Previous message: Bonj: "Re: baffled by exception"
- In reply to: Sigurd Stenersen: "Re: Copy of derived object from pointer to base"
- Next in thread: Sigurd Stenersen: "Re: Copy of derived object from pointer to base"
- Reply: Sigurd Stenersen: "Re: Copy of derived object from pointer to base"
- Reply: Igor Tandetnik: "Re: Copy of derived object from pointer to base"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|