news 2026/9/1 20:50:08

【C/C++刷题集】类和对象算法题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C/C++刷题集】类和对象算法题

【C/C++刷题集】类和对象专题
(常见面试 + OJ 高频考点)

以下题目从简单到较难排列,覆盖了C++类与对象最核心的考察点,建议按照顺序刷,刷完基本能应对90%的“类和对象”相关面试题和OJ题目。

难度题号题目名称核心考察点推荐练习平台重要指数
1实现一个简单的复数类基本成员、构造函数、运算符重载基础牛客/洛谷★★★★
2实现字符串类(简版string)深拷贝、析构、拷贝构造、赋值运算符LeetCode/牛客★★★★★
★★3单例模式(多种实现方式对比)静态成员、线程安全、饿汉/懒汉、Meyers版各种面试★★★★★
★★4RAII实现智能指针(简版unique_ptr)析构函数、资源管理、移动语义面试/OJ★★★★★
★★5实现一个可以链式调用的StringBuilder返回引用、this指针牛客/面试★★★★
★★★6实现一个线程安全的计数器类mutable、mutable、std::mutex面试★★★★
★★★7实现一个简单的vector(动态数组)内存管理、扩容、移动构造、异常安全面试/高频★★★★★
★★★8实现shared_ptr(简版,含引用计数)引用计数、弱引用基础、自定义删除器面试核心★★★★★
★★★★9用C++实现一个简单的对象池静态成员、双向链表/自由链表、RAII游戏开发/高频★★★★
★★★★10实现一个能统计对象创建/销毁次数的类静态成员、构造/析构/拷贝/移动全家桶理解对象生命周期★★★★
★★★★11实现一个不允许拷贝的类(禁用拷贝构造+赋值)=delete、private拷贝构造C++11特性★★★
★★★★12使用CRTP实现静态多态的基类接口CRTP、模板、静态分派高级/模板元编程★★★★
★★★★★13实现一个带迭代器的简易容器(像vector)迭代器模式、begin()/end()、const迭代器非常高频★★★★★
★★★★★14实现一个支持move语义的String类移动构造、移动赋值、std::moveC++11核心★★★★★

推荐刷题顺序(不同目标不同路径)

目标:快速过基础面试 + 校招(1-3周)

1 → 2 → 3 → 5 → 10 → 11 → 4 → 14

目标:中高级/大厂算法岗/想真正搞懂C++(1.5-3个月)

1 → 2 → 10 → 3 → 4 → 14 → 7 → 8 → 13 → 12 → 9

目标:游戏开发/高性能/嵌入式方向(更偏底层)

2 → 10 → 7 → 8 → 9 → 13 → 4(加强版) → 自定义分配器相关

高频经典题目参考代码框架(供参考思路)

题2 - 简版string(最经典深拷贝题)

classMyString{private:char*data=nullptr;size_t len=0;size_t capacity=0;public:// 构造函数们MyString()=default;MyString(constchar*s);MyString(constMyString&other);// 拷贝构造MyString(MyString&&other)noexcept;// 移动构造// 赋值运算符MyString&operator=(constMyString&other);// 拷贝赋值MyString&operator=(MyString&&other)noexcept;// 移动赋值~MyString(){delete[]data;}// 其他常用接口...size_tsize()const{returnlen;}constchar*c_str()const{returndata?data:"";}voidpush_back(charc);// ...};

题3 - 最推荐的现代单例(Meyers’ Singleton)

classSingleton{public:staticSingleton&getInstance(){staticSingleton instance;// 线程安全、按需初始化、自动析构returninstance;}// 禁用拷贝和移动Singleton(constSingleton&)=delete;Singleton&operator=(constSingleton&)=delete;private:Singleton()=default;~Singleton()=default;};

题8 - 极简版shared_ptr(只看思路)

classshared_ptr{T*ptr=nullptr;long*ref_count=nullptr;public:explicitshared_ptr(T*p=nullptr):ptr(p),ref_count(newlong(1)){}shared_ptr(constshared_ptr&other):ptr(other.ptr),ref_count(other.ref_count){if(ref_count)++*ref_count;}~shared_ptr(){if(ref_count&&--*ref_count==0){deleteptr;deleteref_count;}}// ... 移动构造/赋值、operator*、operator-> 等};

祝刷题愉快!

想重点练哪几道题?或者想要某个难度区间的完整题目+参考答案列表?
可以直接告诉我~ 😄

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 15:37:55

2026知网AIGC检测太严了!这5款降AI工具亲测有效

2026知网AIGC检测太严了!这5款降AI工具亲测有效 TL;DR:知网2025年底升级了AIGC检测算法,以前能过的方法现在很多都失效了。本文亲测5款降AI工具,推荐嘎嘎降AI(达标率99.26%)和比话降AI(知网专精…

作者头像 李华
网站建设 2026/8/21 15:38:03

笔灵、学术猹、嘎嘎降实测对比,最好用的竟然是它!

笔灵、学术猹、嘎嘎降实测对比,最好用的竟然是它! TL;DR:实测对比笔灵AI、学术猹、嘎嘎降AI三款热门降AI工具。结论:嘎嘎降AI效果最好(AI率降到7%),学术猹适合文科生,笔灵价格最便宜…

作者头像 李华
网站建设 2026/8/25 5:14:06

必学收藏!vLLM-Omni全模态模型高效推理引擎:从入门到实践

vLLM-Omni是专为全模态模型设计的高效推理引擎,支持文本、图像、音频、视频等多种模态输入输出。它超越传统自回归架构,采用异构模型流水线和Stage拆分技术,实现高吞吐性能。文章详细介绍了其架构特点、支持的模型类型,以及Qwen2.…

作者头像 李华
网站建设 2026/8/22 6:44:04

学员追访 | 秋招5份 Offer,15w+ 年薪上岸 FPGA开发

本文记录了一名电子信息背景学员转向 FPGA 开发的学习与求职经历。从前期自学摸索,到系统化训练,再到项目实践与秋招面试,总结了学习路径、踩坑经验以及一些个人体会。我本科就读于电子信息相关专业,平时课程和比赛更多集中在嵌入…

作者头像 李华
网站建设 2026/8/24 12:43:52

网络安全行业下班人都干点啥?如何在下班再赚一笔外快?

网络安全行业兼职接单秘籍:计算机人如何凭借技能赚外快 很多计算机人(学生 / 转行从业者)觉得 “网络安全兼职门槛高,必须是大神才能接”,其实不用会复杂渗透,只要掌握基础工具(如 Nmap、Burp&a…

作者头像 李华