C++中的组合、继承和多态
发表于|更新于|C++
|总字数:0|阅读时长:1分钟|浏览量:
文章作者: Ethan Hu
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 古月月仔的博客!
相关推荐

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...

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/...

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:可在编辑器的任意位置(如蓝图、细节面板)编辑此属性 // -...

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,...

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()...

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); ...
评论
公告
古月月仔的博客上新了!