仿照string类,实现自定义My_strng类,以及相关操作
实现代码是
#include <iostream>
#include <cstring>
using namespace std;
class my_string
{
private:char *cstr;int len;
public:my_string(){cout<<"my_string::无参构造"<<endl;}my_string(char *str){if(str!=NULL){len= strlen(str);cstr = new char[len+1];strcpy(cstr,str);*(cstr+len)='\0';cout<<"my_string::有参构造"<<endl;}}my_string( const my_string &other){this->cstr=new char[other.len+1];strcpy(this->cstr,other.cstr);*(cstr+len)='\0';len=other.len;cout<<"my_string::拷贝构造"<<endl;}~my_string(){if(cstr != NULL){delete []cstr;}cout<<"my_string::析构函数"<<endl;}bool empty(){bool b=0;if(cstr!=NULL){b=1;return b;}else{return b;}}int size(){return len;}char* str_c(){char *p=cstr;return p;}char &at(int index){if(index <= len ){return *(cstr + index);}else{static char error =-1;cout<<"输入错误"<<endl;return error;}}
};int main()
{ char s2[128]="shenjiabao";my_string s1(s2);my_string s3(s1);cout<<s1.at(0)<<endl;cout<<s1.size()<<endl;cout<<s1.empty()<<endl;cout<<s1.str_c()<<endl;return 0;
}
代码现象是
仿照string类,实现自定义My_strng类,以及相关操作相关推荐
- C++异常处理类与自定义异常处理类
转自:http://blog.csdn.net/makenothing/article/details/43273137 例1:自定义一个继承自excepton的异常类myException C++标 ...
- python高级(元类、自定义元类)
什么是元类(metaclass)? 元类是类的类,是类的模板 元类的实例为类,正如类的实例为对象 class Foo: pass t1=Foo() #t1是通过Foo类实例化的对象 prin ...
- C#Directory类,可进行文件夹相关操作
一.定义 Directory类引用的命名空间是System.IO,它的定义是: System.Runtime.InteropServices.ComVisible(true)] public stat ...
- Java分享笔记:自定义枚举类 使用enum关键字定义枚举类
在JDK1.5之前没有enum关键字,如果想使用枚举类,程序员需要根据Java语言的规则自行设计.从JDK1.5开始,Java语言添加了enum关键字,可以通过该关键字方便地定义枚举类.这种枚举类有自 ...
- 查看类的实现类mac_自定义类加载器实现热加载
一.实现的需求 当一个java被修改后,系统无需重启,替换的类立即生效,这里以Work.java为例 二.实现的思路 1)难点分析 当项目在执行的时候,我们修改了Work.java,这个类的class ...
- 获取类权限定名_自定义认证类、权限类
自定义认证类,自定义权限类 一 自定义认证类 思路: 实现了自己确定身份的方式 1 定制自己的token串格式 2 应用drf-token里面的方法来实现token解密 3 然后写写确定身份的逻辑 u ...
- 22081-11-4 仿照string类,写一个my_string类
仿照string类,写一个my_string类 class my_string { private: char *str; int len; publuc: //无参构造 //有参构造 //拷贝构造 ...
- C++仿照string类,写一个my_string类并实现相关功能
C++仿照string类,封装一个My_string类,并实现相关功能 代码: #include <iostream> #include <cstring> using nam ...
- 掌握 ASP.NET 之路:自定义实体类简介
发布日期 : 5/24/2005| 更新日期 : 5/24/2005 Karl Seguin Microsoft Corporation 摘要:有些情况下,非类型化的 DataSet 可能并非数据操作 ...
最新文章
- php动态验证码脚本,这个PHP脚本有什么问题吗? (验证码)
- 奥数国家队最强6人集结,深圳中学独占2席,人大附中连续三年入围
- Redux专题:实用
- Spring Cloud【Finchley】实战-06使用/actuator/bus-refresh端点手动刷新配置 + 使用Spring Cloud Bus自动更新配置
- 如何用SendMessage模拟某一按钮的点击事件
- php 实现栈与队列
- MySQL索引和SQL调优手册
- 央视消息 | 没考驾照的人可能要恭喜了!
- Neither BindingResult nor plain target object for bean name 'xxx' availabl问题解决
- 小程序突然报module is not defined_菲尔德睡前英语小故事 | 狼来了
- 双目标定,匹配的笔记
- VirtualBox 安装 CentOS 7.6 操作记录
- 邮政储蓄计算机笔试题,邮储总行计算机类笔试题
- MTK 驱动开发---Memory 移植
- 软件研发软件基础设施的建设
- 「笔耕不辍」常见远程调用协议
- eclipse中servers(服务器)的配置
- iOS程序模块化设计
- 最短路径之Bellman-Ford
- 基于PIE-Engine的新疆地区棉花种植面积提取