bycj.net
当前位置:首页 >> C++写程序定义一个字符串类CString的实现,并用主函数测试所写的CString类。 >>

C++写程序定义一个字符串类CString的实现,并用主函数测试所写的CString类。

CString(char const * ps)void insert(char const * ps)这两个地方可以加const, 说明这两个程序不可以改变ps指向的字符串

#include #include using namespace std; class CString { public: CString(const char*); ~CString(); int getLength(); CString& merge(const CString&); string show() const; private: string* str; }; CString::CString(const char* s):str(NULL) { str = new string(

你那个是char *str 吧.

首先纠正下,cstring不是函数C++比较容易实现,就是写一个类,封转很多字符串常用的方法,还可以使用运算符重载实现用+来进行字符串拼接等等操作.只是说会用到类、函数重载、运算符重载之类的技术,具体的内容自己来设计才有意思嘛~

char *mystrcat(char *dst, char *src){ char *p = dst; while(*p)++p; while(*p++ = *src++); return dst;}char *mystrcpy(char *dst, char *src){ while(*dst++ = *src++); return dst;}int mystrcmp(char *dst, char *src){

不介意我用STL吧?#include <iostream>#include <vector>using std::cout;using std::endl;using std::vector;class CString{private: vector<char> data;public: CString(); CString (const char*); vector<char>::size_type getLength(); CString& merge(const

可以使用CString类的Compare函数,看返回值就可以确定顺序.

class Strings{public:Strings(){ m_pBuff = NULL;} Strings(char *s) { if(s!=NULL) { int len = 0; for(int i=0;s[i]!='\0';i++) { len++; } m_pBuff = new char[len+1]; memset(m_pBuff,0,len+1); memcpy(m_pBuff,s,len); } } Strings(Strings &s) { int len = s.strlen();

MyString::MyString(char *pstr="") { int n = strlen(pstr); m_buf = new char [n+1]; strcyp(m_buf, pstr); m_buf[n] = 0; } MyString::MyString(const MyString& str) { int n = strlen(str.m_buf); m_buf = new char [n+1]; strcyp(m_buf, str.m_buf); m_buf[n] = 0; }

就当一个顺序表来写就行了.只存字符的顺序表// 编写一个字符串类,要求该类可以实现以下功能:// (1)取字符串长度GetLength,判断字符串是否为空IsEmpty,取特定字符在字符串中位置GetAt.// (2)实现+和=的重载.// (3)实现插入一字符(或子

相关文档
nnpc.net | zxwg.net | jclj.net | wlbk.net | 2639.net | 网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com