小编use*_*026的帖子

参数中的C++协方差

我想知道为什么C++不支持参数的协方差,如下例所示,或者是否有办法实现它?

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
};
Run Code Online (Sandbox Code Playgroud)

c++ virtual covariance

17
推荐指数
1
解决办法
3609
查看次数

标签 统计

c++ ×1

covariance ×1

virtual ×1