You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++中shared_ptr向量向下转换为基类型的编译问题及多态示例

基于shared_ptr的多态基类向量示例

以下是用于演示shared_ptr向量配合多态基类使用的最小可编译示例代码:

#include <vector>
#include <memory>

class Base {
public:
    virtual ~Base() = default;
    virtual int f() = 0;
};

class Derived : public Base {
public:
    ~Derived() = default;
    int f() override { return 0; }
};

int main() {

const std::vector<std::shared_ptr<const Base>> vec{std::make_shared<const Derived>()};

}

这段代码最初发布时存在两处编译错误,后续还出现了链接错误。由于无法删除或恢复至初始版本,遂将其保留为当前的最小示例。我参考过相关主题的其他问题,有回答提到需要使用纯虚基类,因此在这个示例中添加了虚析构函数和纯虚函数,确保代码能正常编译运行,用于展示多态基类在shared_ptr向量中的使用方式。

内容的提问来源于stack exchange,提问作者Joachim W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 09:10:28