C++(day4)

思维导图

封装Mystring

#include <iostream>
#include<cstring>using namespace std;class Mystring{
public://无参构造函数Mystring():size(10){str=new char[size];strcpy(str,"");cout<<"无参构造函数"<<endl;}//有参构造函数Mystring(const char *s){size=strlen(s);str=new char[size+1];strcpy(str,s);cout<<"有参构造函数"<<endl;}//拷贝构造函数Mystring(const Mystring &other){this->size=other.size;this->str=new char[this->size];strcpy(this->str,other.str);cout<<"拷贝构造函数"<<endl;}//析构函数~Mystring(){delete []str;cout<<"析构函数"<<endl;}//拷贝赋值函数Mystring &operator=(const Mystring &other){if(this!=&other){this->size=other.size;strcpy(this->str,other.str);}cout<<"拷贝赋值函数"<<endl;return *this;}//判空函数bool empty()const{return !strlen(this->str);}//size函数int strsize()const{return strlen(this->str);}//c_str函数char *c_str(){return this->str;}//at函数char &at(int pos){return *(this->str+pos-1);}//加号运算符重载Mystring operator+(const Mystring &R)const{Mystring temp;strcat(temp.str,this->str);strcat(temp.str,R.str);return temp;}//加等于运算符重载Mystring &operator+=(const Mystring &R){strcat(this->str,R.str);return *this;}//关系运算符重载(>)bool operator>(const Mystring &R)const{if(strcmp(this->str,R.str)>0){return true;}else{return false;}}//中括号运算符重载char &operator[](int pos)const{return *(this->str+pos-1);}//展示函数void show(){cout<<str<<endl;}
private:char *str;  //字符串首地址int size;   //字符串大小
};int main()
{Mystring str1("hello");str1.show();Mystring str2("world");str2.show();Mystring str3;if(str3.empty()){cout<<"str3现在为空,字符串长度为"<<str3.strsize()<<endl;}str3=str1;str3.show();if(!str3.empty()){cout<<"str3现在不为空,字符串长度为"<<str3.strsize()<<endl;}Mystring str4=str2;str4.show();str4+=str3;str4.show();cout<<"str4字符串第7位是"<<str4.at(7)<<",str4字符串第13位是"<<str4[13]<<endl;cout<<str4.c_str()<<endl;if(str3>str2){cout<<"str3>str2"<<endl;}else{cout<<"str3<str2"<<endl;}return 0;
}

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

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

相关文章

怎么压缩pdf文件大小?详细压缩步骤

怎么压缩pdf文件大小&#xff1f;在日常的工作和学习中&#xff0c;我们频繁地处理PDF文件。然而&#xff0c;有时候这些文件的大小可能会非常庞大&#xff0c;这给我们带来了一系列的问题。首先&#xff0c;它们占用了大量的存储空间&#xff0c;使得我们的设备变得拥挤不堪。…

大话数据结构 1 绪论

数据:是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#xff0c;是能被计算机识别&#xff0c;并输入给计算机处理的符号集合。 数据元素:是组成数据的&#xff0c;有一定意义的基本单位&#xff0c;在计算机中通常作为整体处理&#xff0c;也被称为记录。 数据项…

使用SSH地址拉取远程仓库代码报下面的错误

说明&#xff1a;配置了SSH秘钥后&#xff0c;使用SSH地址克隆代码&#xff0c;依旧无法拉取代码&#xff0c;提示下面这个信息。 Their offer&#xff1a;ssh-rsa&#xff0c;ssh-dss fatal&#xff1a;Could not read from remote repository. Please make sure you have the…

bug总结问题集和知识点集(一)

目录 一 bug问题集1. 端口被占用 二 oracle1. oracle查看版本怎么操作2. oracle数据库&#xff1a;参数个数无效![在这里插入图片描述](https://img-blog.csdnimg.cn/6a2eebc164f9406c81525371893bbd11.png)3. ORACLE数据库如何完整卸载? 三 mybatis1. mybatis用注解如何实现模…

Zabbix监控组件及流程

Zabbix 由5大组件构成 Zabbix Web、Zabbix Server、Zabbix Proxy、Zabbix Database、Zabbix Agent Zabbix监控系统具体监控系统流程如图&#xff1a; Zabbix Web Zabbix Web是基于PHP语言编写的WEB UI界面&#xff0c;展示Zabbix整个监控平台监控数据、配置信息、方便对整个…

揭秘弹幕游戏制作

最近好多人问弹幕游戏&#xff0c;甚至是招人的也要DOTS做弹幕游戏... 实际上目前的弹幕游戏绝大多数应该和DOTS没有半点关系&#xff0c;别忘了DOTS这项技术渲染问题还没能够被合理解决呢 所以目前用的全都是GPU Instance这项技术&#xff0c;于是乎我决定下场写这篇帖子&am…

Java并发编程面试题

基础知识 并发编程的优缺点 为什么要使用并发编程&#xff08;并发编程的优点&#xff09; 充分利用多核CPU的计算能力&#xff1a;通过并发编程的形式可以将多核CPU的计算能力发挥到极致&#xff0c;性能得到提升方便进行业务拆分&#xff0c;提升系统并发能力和性能&#…

day15-面向对象进阶(抽象类接口内部类)

今日内容 抽象类接口内部类 教学目标 能够写出抽象类的格式 能够写出抽象方法的格式 能说出抽象类的应用场景 写出定义接口的格式 写出实现接口的格式 说出接口中成员的特点 能说出接口的应用场景 能说出接口中为什么会出现带有方法体的方法 能完成适配器设计模式 第一章 抽…

怎样吃透一个java项目?

前言 对于刚开始看视频敲代码&#xff0c;最忌讳的便是一上来就完全照着视频做&#xff0c;这么做就算完完全全的跟着视频做出来一个项目&#xff0c;始终都无法将里面具体的知识化为己有&#xff0c;单纯来说只是简单的复刻&#xff0c;视频的作者本身是不会对他在做该项目过…

《TCP/IP网络编程》阅读笔记--标准I/O和I/O流分离

目录 1--标准I/O 1-1--标准I/O的优缺点 1-2--FILE 指针和文件描述符的转换 1-3--基于Socket的标准I/O函数使用 2--I/O流分离 2-1--文件描述符的复制和半关闭 2-2--复制文件描述符实现 I/O 流的分离 1--标准I/O 1-1--标准I/O的优缺点 标准 I/O 函数的优点&#xff1a; ①…

SSTables和LSM-Tree

SSTables 可以类比Kafka&#xff1a;将数据按键排序写入磁盘&#xff0c;并分为多个段&#xff0c;组织段的稀疏索引&#xff0c;并定期合并段文件&#xff08;kafka因为不存在重复数据&#xff0c;所以不需要合并&#xff09; LSM-Tree是基于SSTables的&#xff1a;在内存中维…

Linux中防火墙的简单使用方法

目录 前言 ​编辑 一、概念 1、防火墙的分类&#xff1a; 2、防火墙性能 3、硬件防火墙的品牌、软件防火墙的品牌 4、硬件防火墙与软件防火墙比较 二、linux中的防火墙 1、iptables 2.netfilter/iptables功能 3、四表 iptables中表的优先级 4、五链 三、iptables…

国家网络安全周2023时间是什么时候?有什么特点?谁举办的?

国家网络安全周2023时间是什么时候&#xff1f; 2023年国家网络安全宣传周将于9月11日至17日在全国范围内统一开展。其中开幕式等重要活动将在福建省福州市举行。今年网安周期间&#xff0c;除开幕式外&#xff0c;还将举行网络安全博览会、网络安全技术高峰论坛、网络安全微视…

机器学习——boosting之XGBoost(未完)

划水一整天&#xff0c;模型看了仨&#xff01;不错&#xff0c;虽然现在在打哈欠&#xff0c;还是很想把XGBoost梳理梳理 先从名字开始 XGBoost&#xff0c;eXtreme Gradient Boosting: em。。。。不理解 书上说&#xff0c;XGBoost有很好的性能&#xff0c;在各大比赛中大放异…

从头开始制作扩散模型(实现快速扩散模型的简单方法)

一、说明 本文是关于自己从头开始构建扩散模型的教程。我总是喜欢让事情变得简单易行&#xff0c;所以在这里&#xff0c;我们避免了复杂的数学。这不是一个正常的扩散模型。相反&#xff0c;我称之为快速扩散模型。将仅使用卷积神经网络&#xff08;CNN&#xff09;来制作扩散…

API(九)基于协程的并发编程SDK

一 基于协程的并发编程SDK 场景&#xff1a; 收到一个请求会并发发起多个请求,使用openresty提供的协程说明&#xff1a; 这个是高级课程,如果不理解可以先跳过遗留&#xff1a; APSIX和Kong深入理解openresty 标准lua的协程 ① 早期提供的轻量级协程SDK ngx.thread ngx…

数据结构——【堆】

一、堆的相关概念 1.1、堆的概念 1、堆在逻辑上是一颗完全二叉树&#xff08;类似于一颗满二叉树只缺了右下角&#xff09;。 2、堆的实现利用的是数组&#xff0c;我们通常会利用动态数组来存放元素&#xff0c;这样可以快速拓容也不会很浪费空间&#xff0c;我们是将这颗完…

【C++】构造函数调用规则 ( 默认构造函数 | 默认无参构造函数 | 默认拷贝构造函数 | 构造函数调用规则说明 )

文章目录 一、默认构造函数1、默认无参构造函数2、默认拷贝构造函数 二、构造函数调用规则1、构造函数规则说明2、代码示例 - 只定义拷贝构造函数3、代码示例 - 只定义有参构造函数 一、默认构造函数 C 类中 2 种特殊的构造函数 , 分别是 : 默认无参构造函数 : 如果 C 类中 没…

PyTorch实现注意力机制及使用方法汇总,附30篇attention论文

还记得鼎鼎大名的《Attention is All You Need》吗&#xff1f;不过我们今天要聊的重点不是transformer&#xff0c;而是注意力机制。 注意力机制最早应用于计算机视觉领域&#xff0c;后来也逐渐在NLP领域广泛应用&#xff0c;它克服了传统的神经网络的的一些局限&#xff0c…

sqlserver存储过程报错:当前事务无法提交,而且无法支持写入日志文件的操作。请回滚该事务。

现象&#xff1a; 系统出现异常&#xff0c;手动执行过程提示如上。 问题排查&#xff1a; 1.直接执行的过程事务挂起&#xff08;排除&#xff09; 2.重启数据库实例&#xff08;重启后无效&#xff09; 3.过程中套用过程&#xff0c;套用的过程中使用事务&#xff0c;因为…