Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

访问者设计模式缺少继承

未关闭 适合新手
#35 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
1/5
预计耗时
1-3 小时
新手友好度
68/100
Issue 类型
文档
描述清晰度
描述清楚
活跃度
停滞
技术栈
cpp
领域
documentation

调研方向

打开 slides/design/game.md 大约第 1000 行的位置,检查 visitor 模式示例。更新示例,使其展示 MoveMessage 和 JumpMessage 继承自 Message,并通过 accept 方法分派到相应的 visitor 重载。完成的标准是该幻灯片准确演示 C++ 中的继承和双重分派。

由索引模型根据 Issue 内容生成。

描述

https://github.com/parallel101/course/blob/8c890ba00bc452af8d66c419a27998297378679e/slides/design/game.md?plain=1#L1000
修改为:

struct MoveMessage :Message{
    glm::vec3 velocityChange;

    void accept(MessageVisitor *visitor) override {
        visitor->visit(this);  // 会调用到 visit(MoveMessage *mm) 这个重载
    }
};

struct JumpMessage :Message{
    double jumpHeight;

    void accept(MessageVisitor *visitor) override {
        visitor->visit(this);  // 会调用到 visit(JumpMessage *mm) 这个重载
    }
};
主要语言
C++
星标
4.2k
派生
554
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

parallel101/course 的其他 Issue

查看 parallel101/course 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。