当前位置: 首页 > news >正文

C++ Day4

目录

仿照string类,完成myString 类

思维导图


仿照string类,完成myString 类

#include <iostream>
#include<cstring>using namespace std;class myString
{private:char *str;          //记录c风格的字符串int size;            //记录字符串的实际长度public://无参构造myString():size(10){str = new char[size];         //构造出一个长度为10的字符串strcpy(str,"");         //赋值为空串cout<<"无参构造"<<endl;}//有参构造myString(const char *s)          //string  s("hello world"){size = strlen(s);str = new char[size+1];strcpy(str, s);cout<<"有参构造"<<endl;}//拷贝构造myString(const myString &other){this->str=new char[other.size+1];strcpy(str,other.str);this->size=other.size;cout<<"拷贝构造"<<endl;}//析构函数~myString(){delete str;cout<<"析构函数"<<endl;}//拷贝赋值函数myString &operator=(const myString &other){if(this!=&other){this->size=other.size;if(this->str!=NULL){delete this->str;}this->str=new char[other.size+1];strcpy(str,other.str);cout<<"拷贝赋值"<<endl;}return *this;}//判空函数bool empty(){return 0==size;}//size函数int my_size(){cout<<strlen(str)<<endl;return strlen(str);}//c_str函数char * my_c_str(){return str;}//at函数char &at(int pos){return str[pos];}//加号运算符重载const myString operator+(const myString &other)const{myString c;c.str=new char[size+other.size];strcpy(c.str,str);strcat(c.str,other.str);c.size=size+other.size;return c;}//加等于运算符重载myString &operator+=(const myString &other){strcat(str,other.str);size+=other.size;return *this;}//关系运算符重载(>)bool operator>(const myString &other)const{if(strcmp(str,other.str)>0){return true;}return false;}//中括号运算符重载char & operator[](int i){if(i >= 0 && i< size){return this->str[i];}else{cout<<"数组越界"<<endl;}}void show(){cout<<str<<endl;}
};int main()
{char arr[10]="hello";myString s1(arr);  //有参构造myString s2=s1;   //拷贝构造myString s3;   //无参构造s3=s2;    //拷贝赋值函数s1.my_size();s2.my_size();    //sizes3.my_size();s1.at(1)='o';      //at()函数s1.show();myString s4=s1+s2;   //加法运算符重载s4.show();myString s5("world");   //有参构造s4+=s5;      //+=运算符重载s4.show();s4.my_size();if(s5>s1){cout<<"s5>s1"<<endl;}else{cout<<"s5<=s1"<<endl;}cout<<s4[6]<<endl;return 0;
}

思维导图

相关文章:

C++ Day4

目录 仿照string类&#xff0c;完成myString 类 思维导图 仿照string类&#xff0c;完成myString 类 #include <iostream> #include<cstring>using namespace std;class myString {private:char *str; //记录c风格的字符串int size; //记录…...

2024字节跳动校招面试真题汇总及其解答(二)

1. 微服务的好处,划分原则 微服务是软件架构的一种模式,它将应用程序划分为一系列小型、独立的服务。每个服务都提供一个单独的功能,并使用轻量级的接口相互通信。 微服务架构具有以下好处: 灵活性:微服务可以独立部署、扩展和更新,这使得它们能够随着业务需求的变化而…...

SpringBoot集成websocket(4)|(使用okhttp3实现websocket)

SpringBoot集成websocket&#xff08;4&#xff09;|&#xff08;使用okhttp3实现websocket&#xff09; 文章目录 SpringBoot集成websocket&#xff08;4&#xff09;|&#xff08;使用okhttp3实现websocket&#xff09;[TOC] 前言一、实现步骤1.实现步骤 二、websocket服务代…...

【MySQL】JDBC编程

MySQL-JDBC编程 文章目录 MySQL-JDBC编程Java的数据库编程JDBC工作原理JDBC的使用驱动包下载导入代码编写 Java的数据库编程 JDBC&#xff0c;即Java Database Connectivity&#xff0c;java数据库连接。是一种用于执行SQL语句的Java API&#xff0c;它是 Java中的数据库连接…...

数据结构——二叉树线索化遍历(前中后序遍历)

二叉树线索化 线索化概念&#xff1a; 为什么要转换为线索化 二叉树线索化是一种将普通二叉树转换为具有特殊线索&#xff08;指向前驱和后继节点&#xff09;的二叉树的过程。这种线索化的目的是为了提高对二叉树的遍历效率&#xff0c;特别是在不使用递归或栈的情况下进行遍历…...

GO语言网络编程(并发编程)Channel

GO语言网络编程&#xff08;并发编程&#xff09;Channel 1、Channel 1.1.1 Channel 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换&#xff0c;但是共享内存在不同的goroutine中容易发生竞态…...

c++day3

stack.h #ifndef STACK_H #define STACK_H #include <iostream> //#define max 128 using namespace std; class Stack { private:int* stack;//数组指针int top;//栈顶元素int max;//栈容量 public://构造函数Stack();//析构函数~Stack();//定义拷贝构造函数Stack(cons…...

算法通过村第六关-树青铜笔记|中序后序

文章目录 前言1. 树的常见概念2. 树的性质3. 树的定义与存储方式4. 树的遍历方式5. 通过序列构建二叉树5.1 前中序列恢复二叉树5.2 中后序列恢复二叉树 总结 前言 提示&#xff1a;瑞秋是个小甜心&#xff0c;她只喜欢被爱&#xff0c;不懂的去爱人。 --几米《你们 我们 他们》…...

C++动态内存管理+模板

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; C&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大…...

SQL 注入漏洞攻击

文章目录 1. 介绍2. 无密码登录3. 无用户名无密码登录4. 合并表获取用户名密码 1. 介绍 假设你用自己的用户名和密码登录了一个付费网站&#xff0c;网站服务器就会查询一下你是不是 VIP 用户&#xff0c;而用户数据都是放在数据库中的&#xff0c;服务器通常都会向数据库进行查…...

一篇五分生信临床模型预测文章代码复现——Figure 10.机制及肿瘤免疫浸润(四)

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…...

Transformer 模型中常见的特殊符号

Transformer 模型中常见的特殊符号 通过代码一起理解一下 Transformer 模型中常见的特殊符号&#xff0c; 示例代码&#xff0c; special_tokens{unk_token: [UNK], sep_token: [SEP], pad_token: [PAD], cls_token: [CLS], mask_token: [MASK]}这段代码是定义了一个字典spec…...

C# halcon SubImage的使用

SubImage(HObject imageMinuend, HObject imageSubtrahend, out HObject imageSub, HTuple mult, HTuple add) 公式 x1imageMinuend此行此列的灰度 x2imageSubtrahend此行此列的灰度 则imageSub此行此列的灰度为;(x1-x2)*multadd 溢出裁剪 以byte图为例&#xff0c;小于0&a…...

每天几道Java面试题:异常机制(第三天)

目录 第三幕、第一场&#xff09;异常机制面试题 友情提醒 背面试题很枯燥&#xff0c;加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第三幕、 第一场&#xff09;异常机制面试题 【面试官老吉&#xff0c;面试官潘安&#xff0c;面试者…...

Linux 中的 chattr 命令及示例

Linux 中的chattr命令是一个文件系统命令,用于更改目录中文件的属性。该命令的主要用途是使多个文件无法被超级用户以外的用户更改。管理员表示,众所周知,Linux 是一个多用户操作系统,一个用户有可能删除另一个用户非常关心的文件。为了避免这种情况,Linux 提供了“ chatt…...

LeetCode 2605. Form Smallest Number From Two Digit Arrays【数组,哈希表,枚举;位运算】1241

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…...

VoxWeekly|The Sandbox 生态周报|20230904

欢迎来到由 The Sandbox 发布的《VoxWeekly》。我们会在每周发布&#xff0c;对上一周 The Sandbox 生态系统所发生的事情进行总结。 如果你喜欢我们内容&#xff0c;欢迎与朋友和家人分享。请订阅我们的 Medium 、关注我们的 Twitter&#xff0c;并加入 Discord 社区&#xf…...

antd setFieldsValue 设置初始值无效AutoComplete 设置默认值失败

antd form setFieldsValue 设置初始值无效 解决方案 setTimeout(()>{setFieldsValue(values)},100)antd AutoComplete 设置默认值失败 defaultValue 设置无效 解决方案 设置value&#xff0c;搭配onChange来设置修改...

01-Redis核心数据结构与高性能原理

上一篇&#xff1a; 1.Redis安装 下载地址&#xff1a;http://redis.io/download 安装步骤&#xff1a; # 安装gcc yum install gcc# 把下载好的redis-5.0.3.tar.gz放在/usr/local文件夹下&#xff0c;并解压 wget http://download.redis.io/releases/redis-5.0.3.tar.gz…...

预防Dos攻击

Dos----拒绝服务攻击&#xff0c;一般是构造特殊的输入&#xff0c;使得后台的处理耗时远超正常水平&#xff0c;随着请求越来越多&#xff0c;后台服务越发疲于奔命&#xff0c;最后因资源耗尽&#xff0c;无法再接受新的请求&#xff0c;最终造成拒绝服务的效果。 特殊输入例…...

ant design的文档真的是一坨屎

很多基础设置 高傲的写都不写 要自己去index.d.ts里查 这就算了&#xff0c;为什么还有错的。。。。。 即使因为版本号而不同&#xff0c;起码把差异说明一下吧&#xff0c;直接丢个错的什么意思&#xff0c;。。。。。。。。 没点子功夫还真用不了 文档 进度条 Progress -…...

关于迁移学习的一点理解

举个栗子&#xff0c;老虎图片的数量非常少&#xff0c;可以让网络先学会识别猫的图片 1、预训练模型 内容&#xff1a;利用在 ImageNet1000 数据集训练好的模型&#xff0c;将所需的模型参数下载&#xff0c;嵌入到对应的网络架构中&#xff0c;使用对预训练模型的搭建。目前P…...

【力扣周赛】第 361 场周赛(⭐前缀和+哈希表 树上倍增、LCA⭐)

文章目录 竞赛链接Q1&#xff1a;7020. 统计对称整数的数目竞赛时代码——枚举预处理 Q2&#xff1a;8040. 生成特殊数字的最少操作&#xff08;倒序遍历、贪心&#xff09;竞赛时代码——检查0、00、25、50、75 Q3&#xff1a;2845. 统计趣味子数组的数目竞赛时代码——前缀和…...

解决 Android 依赖冲突

解决办法 问题原因就是&#xff0c;各个模块所有的依赖&#xff08;递归&#xff09;的 jar 包最后都会加载到安卓的项目中&#xff0c;你可以选择 project 形式查看 External Libraries&#xff0c;都在这了。所以解决问题关键就是干掉冲突&#xff0c;剩下一个就行了&#xf…...

前端设计模式基础笔记

前端设计模式是指在前端开发中经常使用的一些解决问题的模式或思想。它们是经过实践证明的最佳实践&#xff0c;可以帮助我们更好地组织和管理我们的代码。 一、单例模式&#xff08;Singleton Pattern&#xff09; 单例模式是一种创建型模式&#xff0c;它保证一个类只有一个…...

Python项目开发:Flask基于Python的天气数据可视化平台

目录 步骤一&#xff1a;数据获取 步骤二&#xff1a;设置Flask应用程序 步骤三&#xff1a;处理用户输入和数据可视化 步骤四&#xff1a;渲染HTML模板 总结 在这个数字化时代&#xff0c;数据可视化已经成为我们理解和解释信息的重要手段。在这个项目中&#xff0c;我们…...

Dell 服务器常见报错信息汇总

Dell 服务器常见报错汇总 如果有别的报错信息欢迎补充...

算法通关村-----贪心面试大热门之区间问题

判断区间是否重叠 问题描述 给定一个会议时间安排数组intervals&#xff0c;每个会议时间都包括开始时间和结束时间,intervals[i] [starti,endi]&#xff0c;请你判断一个人是否能够参加这里面的全部会议。详见leetcode252 问题分析 先将会议安排数组按照开始时间排序&…...

OAK相机:自动或手动设置相机参数

OAK相机&#xff1a;自动或手动设置相机参数 硬件软件 硬件 使用硬件如下&#xff1a; 4✖️ov9782相机OAK-FFC-4P驱动板 硬件接线参考博主的一篇博客&#xff1a;OAK相机&#xff1a;多相机硬件同步拍摄 软件 博主使用的是Ubuntu18.04系统&#xff0c;首先配置所需的pytho…...

百家宴焕新上市,持续深耕100-300元价位段

执笔 | 尼 奥 编辑 | 古利特 4月8日&#xff0c;长江酒道曾在《百家宴谋划“晋级”之路&#xff0c;多措并举切分宴席市场“蛋糕”》一文中提到&#xff1a;“百家宴主力新品即将登场&#xff0c;市场政策灵活焕新。” 如今&#xff0c;百家宴新品及市场新政&#xff0c;正…...

做自媒体都有什么网站/国际新闻军事最新消息

Three.js 是一款运行在浏览器中的 3D 引擎&#xff0c;你可以用它创建各种三维场景&#xff0c;包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精彩的演示。不过&#xff0c;这款引擎目前还处在比较不成熟的开发阶段&#xff0c;其不够丰富的 API 以及匮乏的…...

网站开发设计软件/百度推广账号登陆入口

如同智能机一夜之间颠覆了诺基亚&#xff0c;Serverless 的出现也带来了一种全新的、颠覆式的云开发架构模式。在 Serverless 出现前&#xff0c;开发者们根本无法想象几分钟就能快速部署一个 Web 应用上线。 2012 年&#xff0c;Iron 公司首次提出 Serverless 的概念。2014 年…...

网站如何横屏/石家庄seo网络优化的公司

master主机通过ssh远程连接slaves机子时出现下述错误 解决的方法&#xff1a; 一、删除/root/.ssh/下的kown_hosts文件 二、在master机子上又一次运行scp id_dsa.pub slaves:/root.ssh命令&#xff08;在/root/.ssh文件夹下运行&#xff09; 三、登录slaves机子。进入到root/.s…...

建设银行兴安支行网站/江苏seo哪家好

基于对话框的程序中&#xff0c;每次按下回车键时&#xff0c;程序都退出。去掉按钮的 BS_DEFPUSHBUTTON 属性并重写OnOK函数也没用。那么如何定制回车键的行为呢&#xff1f;这个问题很easy&#xff0c;但是要说明白&#xff0c;却要费点时间。 这个问题在Windows的开发中由…...

网站备案信息真实性核验单填写说明/百度快照推广

项目经理&#xff0c;不是谁都能做的。 什么样的人能成为项目经理呢&#xff1f; 【PMP项目管理交流、资料、公开课】&#xff1a;https://jq.qq.com/?_wv1027&kGxQrBxrg 圣人 打不还手&#xff0c;骂不还口。 对外能从容面对客户、甲方老板、供应商等各路相关方的刁…...

有哪些网站用java做的/apple私人免费网站怎么下载

混合云被称为是企业信息化的未来&#xff0c;但是对于大多数企业来说&#xff0c;混合云落地难点重重。如何跨越各种挑战&#xff0c;解决企业信息化的最后一公里问题&#xff1f;本文提炼了混合云落地的几大关键点。1、体系架构无论微服务、UI还是脚本配置&#xff0c;花足够的…...