avatar
文章
35
标签
84
分类
14
主页
博文
  • 分类
  • 标签
  • 归档
生活
  • 相册
  • 音乐
友链
关于笔者
古月月仔的博客C++中的组合、继承和多态
主页
博文
  • 分类
  • 标签
  • 归档
生活
  • 相册
  • 音乐
友链
关于笔者

C++中的组合、继承和多态

发表于2024-03-05|更新于2025-05-11|C++
|总字数:0|阅读时长:1分钟|浏览量:
文章作者: Ethan Hu
文章链接: https://tingdonghu.github.io/2024/03/05/2024-03-05-C++%E4%B8%AD%E7%9A%84%E7%BB%84%E5%90%88%E3%80%81%E7%BB%A7%E6%89%BF%E5%92%8C%E5%A4%9A%E6%80%81/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 古月月仔的博客!
面相对象c++继承多态虚函数
cover of previous post
上一篇
OpenPCDet框架下模型预测结果解读
在 OpenPCDet 中,每个模型的推理结果通常是一个包含多个键值对的字典,其中包含与 3D...
cover of next post
下一篇
游戏开发中的跳跃设计
文章的思路来源于VoidmatrixUP的B站视频总结,以及一些本人游戏开发的感悟所写。 附上原视频链接:【游戏开发秘籍】二段跳?土狼跳?跳跃还有这么多骚操作!游戏角色跳跃功能实现 #01 游戏的跳跃设计往往决定了这个游戏的上手手感,对于开发者来说,好的游戏跳跃的设计(以及优化)基本要遵循以下原则: 物理模拟与心理预期的平衡 既需要遵循基础物理规律(如自由落体)满足玩家直觉,但也要适配游戏的合理放大能力(如2.5米跳跃高度)。 跳跃高度控制的插值过度 当角色达到预设高度限制时强制速度归零(直接下落或平滑减速),但是直接将角色的速度取为0会导致手感上很生硬(就好像撞到了空气墙),所以现代游戏设计一般会在高度限制上做一个速度插值平滑过渡(如接近上限时渐衰减). 跳跃缓冲(Jump Buffering) 存储提前输入的跳跃指令(如连续跳跃落地前几帧按键),在满足条件时自动触发。这点比较类似于游戏连招系统中的按键缓存. 跳跃宽限期(Coyote...
相关推荐
cover
2024-04-16
C++语法基础-复数类与字符串类
C++ programs 代码的基本形式(以Complex class为例) 头文件与类声明 在写C++项目时,一般将类声明和实现分为两部分存储,即.h和.cpp文件中..cpp文件中要包含#inlcude他的声明头文件 ⚠注意: 在.cpp文件中,自己的头文件一般用引号,而引用标准库文件则用尖括号: 12#include<iostream.h>#inlcude'complex.h' 头文件的防御性声明 在大型项目中,一个写好的类声明文件可能会被引用到程序的各个部分,而有一种规范安全的写法可以解决程序四处引用导致类重复声明的问题 示例: 1234#ifndef _COMPLEX_#define _COMPLEX_...#endif namespace命名空间 namesapce主要的用途是免去每个函数之前都加一个类名,举个栗子: 123456789101112131415161718192021222324252627//使用命名空间#include<iostram>using namespace std;int...
cover
2025-04-05
C++中的堆,栈与内存管理
堆,栈与内存管理 C++ 提供了多种内存管理机制,让程序员可以精细控制内存的分配和释放。 Stack栈内存 由编译器自动分配和释放 存储局部变量、函数参数等 大小有限,通常几MB 分配和释放速度快 Stack是存在于某作用域(scope)的一块内存空间(memory space).例如当调用函数,函数本身就会形成一个stack用来放置它所接收的参数,以及返回地址.在函数本体(function body)内声明的任何变量,其所使用的内存块都取自该函数的stack. Heap堆内存 由程序员手动分配和释放 使用 new/delete 或 malloc()/free() 大小受系统可用内存限制 分配和释放速度较慢 Heap也叫system heap,是操作系统提供的一块global内存空间,程序可以通过动态分配(dynamic allocated)从其中获得区块. ⚠Warning! 程序中使用new/...
cover
2024-04-10
UC++的宏定义语法详解
Unreal Engine中宏定义语法的使用 示例代码: 123456789101112131415161718192021222324// 类声明宏:使类被纳入Unreal反射系统// - Blueprintable:允许在蓝图中创建该类的子类// - meta=(DisplayName="My Object"):在编辑器中显示的自定义名称UCLASS(Blueprintable, meta=(DisplayName="My Object"))class UMyObject : public UObject // 必须继承UObject或其子类{ // 代码生成宏:必须出现在类体内第一个位置 // - 展开后会包含类型信息、反射数据等引擎所需的内容 GENERATED_BODY() // 属性声明宏:将成员变量暴露给反射系统 // - EditAnywhere:可在编辑器的任意位置(如蓝图、细节面板)编辑此属性 // -...
cover
2025-05-01
C++设计模式详解
什么是设计模式 引用**克里斯托弗·亚历山大(Christopher Alexander)**在1977年的著作《A Pattern Language: Towns, Buildings, Construction》中提出了关于设计模式的经典定义。 英文原版: “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” — Christopher Alexander, A Pattern Language,...
cover
2024-04-05
C++中::|->|.|*这些特殊字符的意义和用法区分
在 C++ 中,::、-> 、. 和*是四种不同的运算符,分别用于不同的上下文场景。它们的详细解释和用法对比: 1. 作用域解析运算符 :: 用途 访问 命名空间、类、结构体或枚举 的成员 调用 静态成员(变量或函数) 区分同名的全局变量和局部变量 示例 1234567891011121314151617181920212223242526#include <iostream>namespace MyNamespace { int value = 42;}class MyClass {public: static int staticValue; static void staticMethod() { std::cout << "Static method called!" << std::endl; }};int MyClass::staticValue = 100; // 静态成员变量定义int main()...
cover
2024-04-21
UnrealEngine中的GameMode和GameSate详解
在虚幻引擎(Unreal Engine)中,GameMode 和 GameState 都是多人游戏中的核心类,但它们的分工和用途有显著区别。以下是它们的对比和典型应用场景: 1. GameMode(游戏规则管理者) 职责 仅存在于服务器端(不会复制到客户端)。 定义游戏的核心规则:胜利条件、玩家生成逻辑、回合制规则等。 管理玩家登录/退出(通过Login/Logout等事件)。 生成并持有PlayerController、PlayerState等。 典型用途 12345678// 示例:在GameMode中设置玩家生成逻辑void AMyGameMode::PostLogin(APlayerController* NewPlayer) { Super::PostLogin(NewPlayer); // 生成玩家角色 if (NewPlayer->GetPawn() == nullptr) { SpawnPlayerAtTransform(NewPlayer, SpawnTransform); ...

评论
avatar
Ethan Hu
计算机在校生&游戏程序员
文章
35
标签
84
分类
14
Follow Me
公告
古月月仔的博客上新了!
最新文章
Stable Diffusion的基本原理
Stable Diffusion的基本原理2025-08-22
RAG是什么?宗述与详解
RAG是什么?宗述与详解2025-08-13
MCP是什么?宗述和概念梳理
MCP是什么?宗述和概念梳理2025-08-13
纹理Texture
纹理Texture2025-07-03
着色Shading
着色Shading2025-07-01
©2021 - 2025 By Ethan Hu
框架 Hexo 7.3.0|主题 Butterfly 5.3.5