本文主要是介绍2024.8.29 作业,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
仿照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的字符串}//有参构造myString(const char *s) //有参构造 string s("hello wirld");{size = strlen(s);str = new char[size+1];strcpy(str,s);}//判空函数bool empty(){return str[0]=='\0';}//size函数int get_size(){return size;}//c_str函数char *c_str(){return str;}//at函数char &at(int index){if(index<0||index>=size){cout<<"index error"<<endl;}else{char &s = str[index];return s;}}//show函数void show(){for(int i=0;i<size;i++){cout<<str[i];}cout<<endl;}//二倍扩容void expend(){char *temp = new char[size*2];strcpy(temp,str);delete []str;str = temp;size = size*2;}//析构函数~myString(){delete[] str;}};int main()
{myString s("hello");cout<<s.get_size()<<endl;s.at(3)='x';s.show();char str[10]="";strcpy(str,s.c_str());cout<<str<<endl;return 0;
}
思维导图
这篇关于2024.8.29 作业的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!