C++03:论常用的类
Posted k5bg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++03:论常用的类相关的知识,希望对你有一定的参考价值。
一.简介
二.String类
class String public: String(const char* str=NULL); //通用构造函数 String(const String& str); //拷贝构造函数 ~String(); //析构函数 String operator +(const String& str) const; //重载+ String& operator =(const String& str); //重载= String& operator +=(const String& str); //重载+= bool operator ==(const String &str); //重载== char& operator [](int n) const; //重载[] size_t size() const //获取长度 const char* c_str() const; //获取C字符串 friend istream& operator >>(istream& is,String& str); //输入 friend ostream& operator <<(ostream& os,String& str); //输出 private: char* data; //字符串 size_t length; //长度
//通用构造函数 String::String(const char* str) if(!str) length=0; data=new char[1]; *data=‘\0‘; else length=strlen(str); data=new char[length+1]; strcpy(data,str); //拷贝构造函数需要进行深拷贝 String::String(const String& str) if(!str) length=str.size(); data=new char[length+1]; strcpy(data,str.c_str()); //析构函数需要内存释放和长度归零 String::~String() delete[] data; length=0; //重载字符串连接运算 String String::operator +(const String& str) String newString; newString.length=length+str.size(); newString.data=new char[newString.length+1]; strcpy(newString.data,data); strcat(newString.data,str.data); return newString;
以上是关于C++03:论常用的类的主要内容,如果未能解决你的问题,请参考以下文章