9月11日作业

思维导图

代码

#include <iostream>
#include<string.h>using namespace std;class myString
{
private:char *str;          //记录c风格的字符串int size;            //记录字符串的实际长度
public://无参构造myString():size(10){str = new char[size];         //构造出一个长度为10的字符串strcpy(str,"");         //赋值为空串}//有参构造myString(const char *s)          //string  s("hello world"){size = strlen(s);str = new char[size+1];strcpy(str, s);}//拷贝构造myString(const myString &other):str(other.str), size(other.size){str = new char[size+1];strcpy(str, other.str);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.str);}cout<<"Stu:: 拷贝赋值函数"<<endl;return  *this;             //返回自身引用}//判空函数bool isEmpty(){return size==0;}//size函数int Size(){return strlen(str);}//c_str函数char* c_str(){return str;}//at函数char &at(int pos){if(pos > size-1){cout<<"下标超出范围";}else{return str[pos];}}//加号运算符重载const myString operator+(const myString& other)const{myString temp;temp.size = this->size + other.size;strcpy(temp.str, this->str);strcat(temp.str, other.str);return temp;}//加等于运算符重载myString& operator+=(const myString& other){strcat(this->str, other.str);this->size += other.size;return *this;}//关系运算符重载(>)bool operator>(const myString& other)const{int j = strlen(str);for(int i=0; i<j; i++){if(str[i]>other.str[i]){return true;}else{return false;}}}//中括号运算符重载char & operator[] (int pos){if(pos > size-1){cout<<"下标超出范围";}else{return str[pos];}}
};
int main()
{myString s1("hello");myString s2(" world");cout<<s1.c_str()<<endl;cout<<s1.at(4)<<endl;cout<<s1.Size()<<endl;myString s3 = s1;cout<<s3.c_str()<<endl;s3+=s2;cout<<s3.c_str()<<endl;cout<<s3[10]<<endl;myString s4;s4 = s3;if(s1>s2){cout<<"yes"<<endl;}else{cout<<"no"<<endl;}return 0;
}

运行截图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/76287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零学算法2849

2849.给你四个整数 sx、sy、fx、fy 以及一个 非负整数 t 。 在一个无限的二维网格中&#xff0c;你从单元格 (sx, sy) 开始出发。每一秒&#xff0c;你 必须 移动到任一与之前所处单元格相邻的单元格中。 如果你能在 恰好 t 秒 后到达单元格 (fx, fy) &#xff0c;返回 true &a…

目标检测YOLO实战应用案例100讲-毫米波辐射图像去模糊重建与目标检测(续)

目录 3.3基于RSRN模型的毫米波辐射图像去模糊重建方法 3.3.2非线性映射 3.3.3多尺度模糊提取

淘宝京东扣库存怎么实现的

1. 使用kv存储实时的库存&#xff0c;直接在kv里扣减&#xff0c;避免用分布式锁 2. 不要先查再扣&#xff0c;直接扣扣扣&#xff0c;扣到负数&#xff0c;&#xff08;增改就直接在kv里做&#xff09;&#xff0c;就说明超卖了&#xff0c;回滚刚才的扣减 3. 同时写MQ&…

vue中打印指定dom元素

和window.print()效果一样&#xff0c;调出打印窗口&#xff0c;只是当前使用的插件是vue-print-nb 官网地址&#xff1a;vue-print-nb vue2中使用 安装插件 npm install vue-print-nb --save导入插件 import Print from vue-print-nb // 全局使用 Vue.use(Print);//or// 单…

如何确保ChatGPT的文本生成对特定行业术语的正确使用?

确保ChatGPT在特定行业术语的正确使用是一个重要而复杂的任务。这涉及到许多方面&#xff0c;包括数据预处理、模型训练、微调、评估和监控。下面我将详细介绍如何确保ChatGPT的文本生成对特定行业术语的正确使用&#xff0c;并探讨这一过程中的关键考虑因素。 ### 1. 数据预处…

JVM类加载机制

目录 一、Java为什么是一种跨平台的语言&#xff1f; 二、Java代码的执行流程 解释执行为主&#xff0c;编译执行为辅&#xff1a; 三、类加载的过程 3.1、加载 类加载器&#xff08;就是加载类的&#xff09;分为&#xff1a; 3.1.1、启动类加载器&#xff08;Bootstrap…

UMA 2 - Unity Multipurpose Avatar☀️三.给UMA设置默认服饰Recipes

文章目录 🟥 项目基础配置🟧 给UMA配置默认服饰Recipes🟨 设置服饰Recipes属性🟥 项目基础配置 将 UMA_DCS 预制体放到场景中创建空物体,添加DynamicCharacterAvatar 脚本,选择 HumanMaleDCS作为我们的基本模型配置默认Animator 🟧 给UMA配置默认服饰Recipes 服饰Re…

回归预测 | MATLAB实现PCA-BP主成分降维结合BP神经网络多输入单输出回归预测

回归预测 | MATLAB实现PCA-BP主成分降维结合BP神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现PCA-BP主成分降维结合BP神经网络多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现PCA-BP主成分降维算法结合BP神经网络多输入单输出回…

Linux命令(78)之read

linux命令之read 1.read介绍 linux命令read用来接收键盘或其它文件的输入&#xff0c;得到输入后&#xff0c;read命令将接收的数据放入到标准变量中。 2.read用法 read [参数] [变量名称] read常用参数 参数说明-p后面跟提示信息-e可以使用命令补全功能-n输入文本的长度-s…

【数据结构】串

串 串的顺序实现简单的模式匹配算法KMP算法KMP算法的进一步优化 串的顺序实现 初始化 #define MaxSize 50 typedef char ElemType;//顺序存储表示 typedef struct{ElemType data[MaxSize];int length; }SString;/*** 初始化串*/ void InitString(SString *string) {for (int …

点云从入门到精通技术详解100篇-基于车载激光点云的道路标线提取及分类方法

目录 前言 车载 LiDAR 技术基础理论 2.1 车载 LiDAR 系统组成 2.2 车载 LiDAR 系统工作原理

Python基础continue和break关键字

continue 和 break 关键字 continue 含义&#xff1a;表示跳过本次循环&#xff0c;继续下次循环 注意&#xff1a;continue在while循环中不可以使用 例子&#xff1a; for i in range(5): if i 3: continue else: print(i) #结果为0,1,2,4 当i 3的时候&#xff0c;跳…

变压器耐压试验电压及电源容量的计算

被试变压器的额定电压为&#xff08;11081. 25%&#xff09; /10. 5kV&#xff0c; 联接组标号为 YNd11。 试验时高压分接开关置于第 1 分接位置&#xff0c; 即高压侧电压为 126kV&#xff0c; 高、 低压电压比 K1126/&#xff08;√310. 5&#xff09; 6. 93。 现以 A 相试验…

Cmake入门(一文读懂)

目录 1、Cmake简介2、安装CMake3、CMakeLists.txt4、单目录简单实例4.1、CMakeLists.txt4.2、构建bulid内部构建外部构建 4.3、运行C语言程序 5、多目录文件简单实例5.1、根目录CMakeLists.txt5.2、源文件目录5.3、utils.h5.4、创建build 6、生成库文件和链接外部库文件7、注意…

Mysql5.7(Docker环境)实现主从复制

文章目录 前言一、MySQL主从数据库同步如何实现&#xff1f;(理论)1.1 为什么要使用数据库主从1.2 数据库主从实现原理是什么&#xff1f; 二、Docker环境配置MySQL5.7主从(实践)2.1 配置安装Master2.2 配置安装Slave 前言 本文章将以MySQL5.7版本来讲诉MySQL主从复制的原理以…

centos 编译安装的php多版本 切换

centos 编译安装的php多版本 切换 wheris php php: /usr/bin/php /usr/lib64/php /etc/php.ini /etc/php.d /usr/local/php /usr/local/php7.4 /usr/share/php /usr/share/man/man1/php.1.gz/usr/bin/php: php可执行脚本&#xff0c;任何版本的php 通过软连接到这可以实现全局…

STM32CubeMX systick bug?

发觉用新版&#xff08;V6.9.1&#xff09;的它生成代码&#xff0c;会有问题。可能是 BUG。具体如下&#xff1a; 一个简单的点灯程序&#xff0c;用 Keil MDK 5.38a&#xff08;compiler version 6&#xff09;编译。 如果在变量前&#xff0c;不加上关键字“volatile”&am…

VEX —— Functions|Geometry

目录 geoself —— 返回当前几何体的handle addpoint —— 添加点到几何体 addprim —— 添加面到几何体 addvertex —— 添加一顶点到面 minpos —— 查找点离几何体表面最近的位置 nearpoint —— 查找离几何体最近的点 nearpoints —— 查找离几何体所有最近的点 ne…

【计算机网络】UDP数据包是如何在网络中传输的?

List item 创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多计算机网络知识专栏&#xff1a;计算机网络&#x1f525;…

Vue项目使用axios配置请求拦截和响应拦截以及判断请求超时处理提示

哈喽大家好啊&#xff0c;最近做Vue项目看到axios axios官网&#xff1a;起步 | Axios 中文文档 | Axios 中文网 (axios-http.cn)​​​​​​ 重要点&#xff1a; axios是基于Promise封装的 axios能拦截请求和响应 axios能自动转换成json数据 等等 安装&#xff1a; $ npm i…