news 2026/9/3 4:37:06

【C++笔试题】实现自定义String类中的成员函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C++笔试题】实现自定义String类中的成员函数

题目:

实现自定义String类中的成员函数

class MyString { public: MyString(const char* str = nullptr); MyString(const MyString& other); MyString& operator=(const MyString& other); ~MyString(); private: char* _str; size_t _length; };

重点:

1.深拷贝

2.拷贝赋值运算符要处理自赋值

// 1. 带默认参数的构造函数实现 MyString::MyString(const char* str) : _length(0) { if (str == nullptr) { _str = new char[1]; _str[0] = '\0'; } else { _length = strlen(str); _str = new char[_length + 1]; strcpy(_str, str); } } // 2. 拷贝构造函数实现 MyString::MyString(const MyString& other) { _length = other._length; _str = new char[_length + 1]; strcpy(_str, other._str); } // 3. 拷贝赋值运算符重载实现 MyString& MyString::operator=(const MyString& other) { // 处理自赋值 if (this == &other) { return *this; } // 释放当前对象已有内存 delete[] _str; // 深拷贝 _length = other._length; _str = new char[_length + 1]; strcpy(_str, other._str); // 返回当前对象引用 return *this; } // 4. 析构函数实现 MyString::~MyString() { delete[] _str; _str = nullptr; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 11:29:48

【C++笔试题】递归判断数组是否是递增数组

递归判断长度为N的数组是不是递增数组。递归方法:记录最大的值,如果比这个值大,则继续,否则终止.递归三部曲:1.明确递归函数的参数和返回值。(个人理解:注意参数已经更新)2.明确终止…

作者头像 李华
网站建设 2026/9/2 8:58:01

LangGraph揭秘:构建智能AI系统的关键,LangChain的高级扩展库!

前言 在 AI 领域,检索增强生成(RAG) 系统已成为处理简单查询、生成上下文相关回答的常见工具。然而,随着对更复杂 AI 应用的需求增长,我们需要超越仅“检索生成”的能力。于是出现了 AI 智能体(Agents&…

作者头像 李华
网站建设 2026/9/2 10:54:38

零基础带你走进大模型的世界,揭秘ChatGPT背后的AI原理!

简介 大模型本质是"文字接龙"能力,通过海量数据训练,在数据量、参数量和算力需求上达到极致。当规模突破临界点,模型会涌现出未被明确教授的能力。训练过程包括预训练、微调和人类反馈强化学习。大模型不仅是聊天工具,更…

作者头像 李华
网站建设 2026/9/2 23:56:04

基于Python主流汽车价格分析可视化系统的设计与实现

收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…

作者头像 李华
网站建设 2026/9/2 23:00:36

springboot二手儿童绘本交易系统设计与实现

第3章 系统分析 为满足用户的需求,本章分析系统开发的可行性,将从技术和操作等方面来判断,然后通过需求分析、系统流程分析来确定二手儿童绘本交易系统的功能[7]。 3.1 技术可行性分析 二手儿童绘本交易系统在使用电脑和信息分析系统这些设计…

作者头像 李华