主要是完成String类的构造函数、拷贝构造函数、赋值构造函数和析构函数。这个类中包括了指针类成员变量m_data,当类中包括指针类成员变量时,一定要重载构造函数、赋值函数、析构函数;
下面是具体的实现:
- class String 
- { 
- public: 
- String(const char* str=NULL);//普通的构造函数 
- String(const String& other); //拷贝构造函数 
- ~String(); 
- String& operate = (const String& other);//复制构造 
- private: 
- char* m_data;//用于保存字符串 
- }; 
- String::String(const char* str) 
- { 
- if (str==NULL) 
- { 
- m_data = new char[1]; 
- *m_data = '\0'; 
- } 
- else 
- { 
- int len = strlen(str); 
- m_data = new char[len+1]; 
- strcpy(m_data, str); 
- } 
- } 
- String::~String() 
- { 
- if (m_data!=NULL) 
- { 
- delete[] m_data; 
- m_data = NULL; 
- } 
- } 
- String::String(const String & other) 
- { 
- int len = strlen(other.m_data); 
- m_data = new char[len + 1]; 
- strcpy(m_data, other.m_data); 
- } 
- String& String::operate = (const String & other) 
- { 
- if (this==other) 
- { 
- return *this; 
- } 
- delete[] m_data; 
- int len = strlen(other.m_data); 
- m_data = new char[len + 1]; 
- strcpy(m_data, other.m_data); 
- return *this; 
- } 

 
					
				
 
			
			
			
						
			 
					
				 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

