Como en el ejemplo a continuación, ¿qué está permitido, cómo y por qué?¿Qué es lo que C++ gobierna con respecto a los tipos de retorno covariantes?
class Shape {
public:
//...
virtual Shape *clone() const = 0; // Prototype
//...
};
class Circle : public Shape {
public:
Circle *clone() const;
//...
};
¿Cuál es exactamente la pregunta? Si conoce el término * covariante *, entonces probablemente sepa lo que significa. Entonces, la respuesta es: se permiten los tipos de retorno covariantes. Eso es. – AnT
Solo un enlace para personas que no estén familiarizadas con el tipo de retorno covariante: http://en.wikipedia.org/wiki/Covariant_return_type –
Regla # 1 de declaraciones covariantes: no use VC6. –