p7_5.cpp

来自「相当丰富的C++源码」· C++ 代码 · 共 53 行

CPP
53
字号
/**********************************
*   p7_5.cpp                      *
*  带深拷贝构造函数的字符串类     *
**********************************/
#include <iostream>
using namespace std;
class String {
    private:
      char *Str;
	  int len;
	public: 
    void ShowStr()
	{
		cout<<"string:"<<Str<<",length:"<<len<<endl;
	}
	String()
	{
		len=0;
		Str=NULL;
	}
	String(const char *p)
	{
		len=strlen(p);
		Str=new char[len+1];
		strcpy(Str,p);
	}
	String(String & r)
	{
		len=r.len;
		if(len!=0)
		{
		   Str=new char[len+1];
           strcpy(Str,r.Str);
		}
	}
	~String()
	{
		if (Str!=NULL)
		{
		   delete [] Str;
		   Str=NULL;
		}

	}
};
void main(void)
{   
	String s1("123456");
	String s2=s1;
	s1.ShowStr();
	s2.ShowStr();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?