Topic: Co-variant parameters and return types
Author: schmidt@tango.cs.wustl.edu (Douglas C. Schmidt)
Date: 8 Dec 1994 22:55:38 -0600 Raw View
Hi,
Please indulge me for a moment with a question about the
ANSI/ISO committee's latest policy with respect to co-variant
parameters and return types.
From my understanding, the current WP allows co-variant
return types, e.g.,
----------------------------------------
class Base
{
public:
virtual Base *clone (void) const;
};
class Derived : public Base
{
public:
// Overrides Base::clone.
virtual Derived *clone (void) const;
};
----------------------------------------
However, is the following co-variance on parameter types also allowed?
----------------------------------------
class Base
{
public:
virtual int clone (Base *&) const;
};
class Derived : public Base
{
public:
// Overrides Base::clone?
virtual int clone (Derived *&) const;
};
----------------------------------------
Thanks,
Doug
--
Dr. Douglas C. Schmidt (schmidt@cs.wustl.edu)
Department of Computer Science, Washington University
St. Louis, MO 63130. Work #: (314) 935-7538; FAX #: (314) 935-7302
http://www.cs.wustl.edu/~schmidt/
Author: jason@cygnus.com (Jason Merrill)
Date: Fri, 9 Dec 1994 19:42:43 GMT Raw View
>>>>> Douglas C Schmidt <schmidt@tango.cs.wustl.edu> writes:
> However, is the following co-variance on parameter types also allowed?
Nope.
Jason