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

华清远见第六课程day4作业

仿照string类,完成myString 类


#include <iostream>
#include <cstring>using namespace std;class myString{
private:char *str;int size;
public:myString():size(10){str = new char[size];strcpy(str,"");}myString(const char*s){size = strlen(s);str = new char[size+1];strcpy(str,s);}//拷贝构造myString(const myString &other):str(new char(*other.str)),size(other.size){cout<<"拷贝构造"<<endl;}//析构函数~myString(){delete str;cout<<"析构函数"<<this<<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);strcpy(str,other.str);//如果指针空间大小一致  //*this->ptr = *other.ptr;}cout<<"Stu:: 拷贝赋值函数"<<endl;return  *this;             //返回自身引用}void show(){cout<<size<<endl;cout<<str<<endl;}//判空函数int empty(){return str[1]==0;}//size函数int getsize(){int i=0;while(*(str+i)){i++;}size = i;return i;}//c_str函数const char* c_str(){char *word=new char[size+1];for(int i=0;i<size;i++){word[i]=*(str+i);}return word;}//at函数char &at(int pos){if(pos<0||pos>size){cout<<"输入的位置有误请重新输入"<<endl;}return *(str+pos);}friend const myString operator +(const myString &L,const myString &R);//加等于运算符重载myString & operator += (const myString &R){strcat(this->str,R.str);this->size+=R.size;return *this;}//关系运算符重载(>)bool operator > (const myString &R)const{return strcmp( this->str,R.str);}//中括号运算符重载char & operator[](int index){return *(str+index);}
};
//加号运算符重载
const myString operator+(const myString &L,const myString &R){myString c;strcpy(c.str,L.str);strcat(c.str,R.str);c.size=R.size+L.size;return c;
}int main()
{myString str("114514");myString str1("1919810");myString str3=str+str1;myString str4;str4=str;str4+=str1;str4[6]='a';if(str>str1){cout<<"大"<<endl;}else{cout<<"小"<<endl;}str4.show();return 0;
}

相关文章:

华清远见第六课程day4作业

仿照string类&#xff0c;完成myString 类 #include <iostream> #include <cstring>using namespace std;class myString{ private:char *str;int size; public:myString():size(10){str new char[size];strcpy(str,"");}myString(const char*s){size …...

【广州华锐互动】AR远程智慧巡检在化工行业中的应用

AR远程智慧巡检是一种基于增强现实技术的新型巡检方式&#xff0c;它可以利用虚拟信息和现实场景的结合&#xff0c;实现对设备、工艺流程等方面的实时监测和识别。在化工行业中&#xff0c;AR远程智慧巡检具有广泛的应用前景&#xff0c;可以提高生产效率和安全性。 一、设备巡…...

easyui-sidemenu 菜单 后台加载

前言 一个项目的功能较齐全&#xff0c;而齐全就预示着功能菜单比较长&#xff0c;但是现实中在不同的甲方使用中往往只需要摘取其中几项功能&#xff0c;所以就想到用配置菜单以满足其需求&#xff0c;且无需变更原始代码&#xff0c;查找一些资料总是似是而非或是誊抄别的什…...

Python总结上传图片到服务器并保存的两种方式

一、前言 图片保存到服务器的两种方法&#xff1a; 1、根据图片的 URL 将其保存到服务器的固定位置 2、根据 request.FILES.get("file") 方式从请求中获取上传的图片文件&#xff0c;并将其保存到服务器的固定位置 二、方法 1、图片的 URL 要根据图片的 URL 将…...

【ETH】以太坊合约智能合约逆向方案

技术角度了解区块链 区块链技术逆袭专栏 文章目录 区块链技术逆袭专栏获取合约代码逆向工具方案1方案2实操演示:获取合约代码 在反编译之前,你需要先知道如果获取编译后的字节码。 这里以 USDT 举例 eth.getCode(0xdAC17F958D2ee523a2206206994597C13D831ec7)字节码: 0x…...

C高级Day5

课后作业&#xff1a; rootlinux:~/shell# cat qh.sh #!/bin/bash function sum_array() {local brr($*) local sum0for i in ${brr[*]} dosum$((sum i))doneecho $sum } arr(1 2 3 4 5) result$(sum_array ${arr[*]}) echo "数组的和为: $result"#!/bin/bash fun…...

AI绘画:Midjourney超详细教程Al表情包超简单制作,内附关键词和变现方式

大家好&#xff0c;本篇文章主要介绍AI绘画完成表情包的制作和变现方式分享。 你还不会AI表情包制作吗&#xff1f;下面我们详细的拆解制作过程。跟着这个教程做出一套属于自己的表情包。 核心工具Midjourney PS&#xff0c;你就可以得到一套自己的专属表情包啦~ 整体制作…...

Linux dup dup2函数

/*#include <unistd.h>int dup2(int oldfd, int newfd);作用&#xff1a;重定向文件描述符oldfd 指向 a.txt, newfd 指向b.txt,调用函数之后&#xff0c;newfd和b.txt close&#xff0c;newfd指向a.txtoldfd必须是一个有效的文件描述符 */ #include <unistd.h> #i…...

设计模式系列-外观模式

一、上篇回顾 上篇我们主要讲述了创建型模式中的最后一个模式-原型模式&#xff0c;我们主要讲述了原型模式的几类实现方案&#xff0c;和原型模式的应用的场景和特点&#xff0c;原型模式 适合在哪些场景下使用呢&#xff1f;我们先来回顾一下我们上篇讲述的3个常用的场景。 1…...

DBeaver 下载、安装与数据库连接(MySQL)详细教程【超详细,保姆级教程!!!】

本文介绍DBeaver 下载、安装与数据库连接&#xff08;MySQL&#xff09;的详细教程 一、DBeaver 下载 官网下载地址&#xff1a;https://dbeaver.io/download/ 二、安装 1、双击下载的安装包&#xff0c;选择中文 2、点击下一步 3、点击我接受 4、如下勾选&#xff0c;…...

使用adjustText解决标签文字遮挡问题python

使用adjustText解决文字遮挡问题 1、一个例子2、adjust_text的用法使用pip install adjustText或conda install -c conda-forge adjusttext来安装adjustText。安装成功之后,首先生成随机示例数据以方便之后的演示: 1、一个例子 我们先不使用adjustText调整图像,直接绘制出原…...

[论文笔记]SiameseNet

引言 这是Learning Text Similarity with Siamese Recurrent Networks的论文笔记。 论文标题意思是利用孪生循环神经网络学习文本相似性。 什么是孪生神经网络呢?满足以下两个条件即可: 输入是成对的网络结构和参数共享(即同一个网络)如下图所示: 看到这种图要知道可能代…...

只有个体户执照,可以用来在抖音开店吗?抖店开通问题解答

我是王路飞。 在抖音开店的门槛&#xff0c;本身就是需要有营业执照的。 至于执照的类型&#xff0c;其实主要看商家自己。 如果你是新手商家&#xff0c;之前也没有怎么接触过电商行业&#xff0c;那么用个体执照在抖音开店足够用了&#xff0c;毕竟你要先入门&#xff0c;…...

微服务高可用容灾架构设计

导语 相对于过去单体或 SOA 架构&#xff0c;建设微服务架构所依赖的组件发生了改变&#xff0c;因此分析与设计高可用容灾架构方案的思路也随之改变&#xff0c;本文对微服务架构落地过程中的几种常见容灾高可用方案展开分析。 作者介绍 刘冠军 腾讯云中间件中心架构组负责…...

记录docker 部署nessus

1、开启容器 docker run -itd --nameramisec_nessus -p 8834:8834 ramisec/nessus 2、登录 &#xff1a;注意是https https://ip8843 3、修改admin密码 #进入容器 docker exec -it ramisec_nessus /bin/bash#列出用户名 /opt/nessus/sbin/nessuscli lsuser#修改密码&a…...

qt 正则表达式

以上是正则表达式的格式说明 以下是自己写的正则表达式 22-25行 是一种设置正则表达式的方式&#xff0c; 29-34行 : 29行 new一个正则表达式的过滤器对象 30行 正则表达式 的过滤格式 这个格式是0-321的任意数字都可以输入 31行 将过滤格式保存到过滤器对象里面 32行 将验…...

l8-d13 UNIX域套接字

一、UNIX 域流式套接字 本地地址 struct sockaddr_un { unsigned short sun_family; /* 协议类型 */ char sun_path[108]; /* 套接字文件路径 */ }; UNIX 域流式套接字的用法和 TCP 套接字基本一致&#xff0c;区别在于使用的协议和地址不同 UNIX 域流式套接字服务器…...

@RequiredArgsConstructor(onConstructor=@_(@Autowired))是什么语法?

这是 Lombok 语法糖写法。 在我们写controller或者Service层的时候&#xff0c;需要注入很多的mapper接口或者另外的service接口&#xff0c;这时候就会写很多的AutoWired注解 lombok提供注解&#xff1a; RequiredArgsConstructor(onConstructor __(Autowired))写在类上可以…...

FL Studio Producer Edition 21.0.3.3713中文完整破解版功能特点及安装激活教程

FL Studio Producer Edition 21.0.3.3713中文完整破解版是一款由Image Line公司研发几近完美的虚拟音乐工作站,同时也是知名的音乐制作软件。它让你的计算机就像是全功能的录音室&#xff0c;漂亮的大混音盘&#xff0c;先进的创作工具&#xff0c;让你的音乐突破想象力的限制。…...

Mybatis 动态语言 - mybatis-velocity

前面我们介绍了Mybatis动态SQL的使用&#xff1b;本篇我们介绍使用mybatis-velocity动态语言生成动态SQL。 如果您对Mybatis动态SQL不太了解&#xff0c;建议您先进行了解后再阅读本篇&#xff0c;可以参考&#xff1a; Mybatis 动态SQL – 使用if,where标签动态生成条件语句…...

总担心家人生病?心理学教你摆脱 “灾难化思维”

父母晚回半小时&#xff0c;孩子轻微咳嗽&#xff0c;伴侣说头晕…… 你是不是瞬间脑补出无数可怕画面&#xff0c;越想越慌&#xff0c;直到拨通电话才安心&#xff1f;这不是矫情&#xff0c;是灾难化思维在作祟。一、为什么总担心家人生病&#xff1f;3个深层根源对失去的恐…...

AIGlasses_for_navigation基础教程:无需ESP32,纯Web端完成所有功能验证

AIGlasses_for_navigation基础教程&#xff1a;无需ESP32&#xff0c;纯Web端完成所有功能验证 1. 引言&#xff1a;从零开始&#xff0c;验证你的智能眼镜导航系统 你是不是也对那个集成了AI、传感器和导航功能的智能眼镜项目——AIGlasses_for_navigation——感到好奇&…...

FPGA实战避坑:手把手教你用Verilog搞定跨时钟域信号传输(附同步/异步FIFO完整代码)

FPGA实战避坑&#xff1a;手把手教你用Verilog搞定跨时钟域信号传输 第一次在FPGA项目里遇到跨时钟域问题&#xff0c;我盯着屏幕上那些随机跳变的数据波形&#xff0c;整整三天没想明白问题出在哪。当时我正在做一个工业传感器数据采集系统&#xff0c;处理器接口跑在100MHz&a…...

Pitest深度解析:Java突变测试系统的架构设计与实战应用

Pitest深度解析&#xff1a;Java突变测试系统的架构设计与实战应用 【免费下载链接】pitest State of the art mutation testing system for the JVM 项目地址: https://gitcode.com/gh_mirrors/pi/pitest 在当今快速迭代的软件开发环境中&#xff0c;传统的代码覆盖率指…...

别再花钱买会员了!手把手教你用D-ID AI Studio免费复活老照片,7天试用期全攻略

零成本玩转AI影像修复&#xff1a;D-ID免费额度深度使用指南 老照片承载着无数珍贵回忆&#xff0c;但褪色、折痕让它们逐渐模糊。如今AI技术让这些记忆重获新生——无需付费订阅&#xff0c;你完全可以通过合理规划免费资源完成老照片动画化项目。本文将彻底拆解如何最大化利用…...

大数据领域规范性分析:助力企业决策优化

大数据领域规范性分析:助力企业决策优化 关键词:规范性分析、大数据决策、描述性分析、预测性分析、优化算法、企业决策、数据驱动 摘要:在数据爆炸的时代,企业不再满足于“数据记录”或“未来预测”,而是渴望知道“如何行动才能最优”。本文将从大数据分析的三大支柱(描…...

AI Agent开发实战路线图:从入门到企业级应用的4阶段进阶指南

第一阶段&#xff5c;概念入门&#xff1a;从认知到代码 理解 AI Agent 的工作原理与架构。推荐课程&#xff1a;Microsoft《AI Agents for Beginners》、Hugging Face《AI Agents》。核心学习点&#xff1a;感知、决策、行动、反馈循环机制。第二阶段&#xff5c;核心技术&…...

Python金融计算效率翻倍的7个隐藏技巧:pandas加速300%、numba编译优化、向量化避坑指南

第一章&#xff1a;Python金融计算效率翻倍的底层逻辑与性能瓶颈诊断Python在金融量化分析中广泛应用&#xff0c;但其默认解释执行机制常导致大规模时间序列回测、蒙特卡洛模拟或协方差矩阵运算时出现显著延迟。效率瓶颈并非源于算法本身&#xff0c;而集中于CPython解释器的G…...

NW.js 保姆级教程来了!零基础也能开发桌面应用(2026 最新版)

一句话总结&#xff1a;用你熟悉的 HTML CSS JavaScript&#xff0c;直接打包成 Windows / macOS / Linux 桌面程序——这就是 NW.js 的魔力&#xff01; 一、NW.js 到底是什么&#xff1f;别再和 Electron 搞混了&#xff01; 如果你会前端开发&#xff0c;但一直以为“做桌…...

WebPlotDigitizer实战指南:从科研图表中智能提取数据的完整方案

WebPlotDigitizer实战指南&#xff1a;从科研图表中智能提取数据的完整方案 【免费下载链接】WebPlotDigitizer WebPlotDigitizer: 一个基于 Web 的工具&#xff0c;用于从图形图像中提取数值数据&#xff0c;支持 XY、极地、三角图和地图。 项目地址: https://gitcode.com/g…...