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

好看的论坛网站模板精准防恶意点击软件

好看的论坛网站模板,精准防恶意点击软件,开发程序的步骤,不属于web2.0网站开发MyString是一个自定义的字符串类&#xff0c;它封装了一些常见的字符串操作和功能。下面是一个简单的MyString类的实现示例&#xff1a; #include <iostream> #include <cstring>class MyString { private:char* m_data; // 用于存储字符串的字符数组int m_length…

MyString是一个自定义的字符串类,它封装了一些常见的字符串操作和功能。下面是一个简单的MyString类的实现示例:

#include <iostream>
#include <cstring>class MyString {
private:char* m_data; // 用于存储字符串的字符数组int m_length; // 字符串的长度public:// 默认构造函数MyString() {m_data = nullptr;m_length = 0;}// 带参构造函数MyString(const char* str) {m_length = strlen(str);m_data = new char[m_length + 1]; // +1 用于存储字符串结束符'\0'strcpy(m_data, str);}// 拷贝构造函数MyString(const MyString& other) {m_length = other.m_length;m_data = new char[m_length + 1];strcpy(m_data, other.m_data);}// 析构函数~MyString() {delete[] m_data;}// 获取字符串长度int length() const {return m_length;}// 获取字符串内容const char* c_str() const {return m_data;}// 重载赋值运算符MyString& operator=(const MyString& other) {if (this != &other) {delete[] m_data;m_length = other.m_length;m_data = new char[m_length + 1];strcpy(m_data, other.m_data);}return *this;}// 重载加法运算符MyString operator+(const MyString& other) const {MyString newString;newString.m_length = m_length + other.m_length;newString.m_data = new char[newString.m_length + 1];strcpy(newString.m_data, m_data);strcat(newString.m_data, other.m_data);return newString;}
};int main() {MyString str1("Hello");MyString str2(" World");MyString str3 = str1 + str2;std::cout << "str1: " << str1.c_str() << std::endl;std::cout << "str2: " << str2.c_str() << std::endl;std::cout << "str3: " << str3.c_str() << std::endl;return 0;
}

在上面的示例中,MyString类封装了一个字符数组m_data来存储字符串的内容,以及一个整数m_length来记录字符串的长度。它提供了默认构造函数、带参构造函数、拷贝构造函数和析构函数来管理字符串的内存。

MyString类还提供了一些成员函数,如length()用于获取字符串的长度,c_str()用于获取字符串的内容,以及重载的赋值运算符和加法运算符,使得可以方便地进行字符串的赋值和拼接操作。

在main函数中,我们创建了两个MyString对象str1和str2,并使用重载的加法运算符将它们拼接成一个新的字符串str3。最后,我们输出了这三个字符串的内容。

4 实例——MyString的实现

/* 
* C++ string 类的实现
* 1. 构造函数和析构函数
* 2. 字符串长度
* 3. 重载=运算符
* 4. 重载+=运算符
* 5. 重载<< >> 运算符
* 6. 重载比较运算符
* 7. 重载[]下标运算符
*/#include <iostream>
#include <cstring>
using namespace std;class MyString
{
private:char * str;int length;
public:// 长度int size ()const {return length;};char* getstr()const{return str;}// 默认构造函数MyString();// 字符串构造函数MyString(const char*);// 复制构造函数MyString(const MyString& b);// 重载等号运算符MyString& operator=(const MyString &b);// 重载+=运算符MyString& operator+=(const MyString &b);// 重载比较运算符bool operator<(const MyString &b);// 重载下标运算符char& operator[](const int &index) const ;// 重载输入输出操作friend ostream& operator<<(ostream& ,const MyString &b);~MyString();
};MyString::MyString()
{str = new char[1];str[0]='\0';length = 0;
}MyString::MyString(const char* b){if(b){length = strlen(b);str = new char[length+1];strcpy(str,b);}else{MyString();}
}
MyString::MyString(const MyString&b){length = b.size();if(length>0)str = new char[length+1];elseMyString();
}MyString& MyString::operator=(const MyString &b){if(&b == this){return *this;}delete[] str;length = b.size();str = new char[length + 1];strcpy(str,b.getstr());return *this;
}MyString& MyString::operator+=(const MyString&b){if(b.size()==0){return *this;}char* temp = new char[length+b.length+1];strcpy(temp,str);strcat(temp,b.getstr());delete[] str;str = temp;return *this;
}char& MyString::operator[](const int &index)const {if(index>length)return str[length];return str[index];
}bool MyString::operator<(const MyString &b){for(int i=0;i<length;i++){if(i>b.size())return false;if(b[i]>str[i])return true;if(b[i]<str[i])return false;}return true;
}MyString::~MyString()
{delete[] str;
}// 外部定义一个函数,内部声明为友元
ostream& operator<<(ostream &out,const MyString&b){out<<b.getstr();return out;
}int main()
{// 测试函数MyString s1,s2="123",s3,s4="456";s3=s2;s1=s2;s1+=s1;cout<<s1<<endl;cout<<s2<<endl;cout<<s3<<endl;cout<<(s3<s4)<<endl;cout<<endl;return 0;
}
http://www.mmbaike.com/news/66245.html

相关文章:

  • wordpress中文版插件哪些网站可以seo
  • 杭州富阳网站建设南京seo招聘
  • 定州网站制作深圳seo优化
  • 为什么自己花钱做的网站竟然不是自己的 (seo教程免费
  • 在哪家网站做外贸比较好搜索引擎优化论文
  • 搭建网站一条龙企业网站管理
  • 网站评论怎么做百度最新版app下载安装
  • 写网站开发代码seo优化及推广如何运营
  • 做标书的任务网站百度指数需求图谱
  • wordpress skype插件自媒体seo是什么意思
  • 一个虚拟空间可以做两个网站吗武汉网络推广外包公司
  • 高端网站开发设计简介网络营销意思
  • ae免费模板网站网络营销策略ppt
  • 网站查询域名解析ip关于市场营销的培训课程
  • axure做的网站注册域名在哪里注册
  • 学用mvc做网站crm
  • 开发网站访问流量赚钱百度账号中心官网
  • 做网站还是软件东莞网络推广平台
  • 做网站通过什么赚钱衡水seo优化
  • 通州企业网站建设培训学校管理制度大全
  • 加工活外放的正规公司如何优化培训方式
  • 济南川芎网站建设公司优化设计六年级上册数学答案
  • 网页设计和网站建设毕业论文营销技巧
  • 做旅游海报的软件或是网站搜索引擎优化叫什么
  • 厦门营销型网站最近新闻头条
  • php淘客网站开发网站关键词提升
  • 手机网站开发 视频怎么去推广自己的公司
  • 网站优化体验报告网站建设方案书范文
  • 网站建设策划方案模板搜索引擎优化的定义
  • 目前做那些网站致富计算机编程培训学校哪家好