Ковариация параметров C++

Я хотел знать, почему C++ не поддерживает co -дисперсию параметров, как в примере ниже, или есть ли способ добиться этого?

class base {
public:
virtual base* func(base * ptr) { return new base(); }
};

class derived : public base {
 public:
 virtual derived* func(derived * ptr) override { return new derived(); } //not allowed
};
17
задан user1578026 6 August 2012 в 00:01
поделиться