⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proj9_06.cpp

📁 C++程序设计教程的全部源代码 包含与教程同步的PPT 方便学习
💻 CPP
字号:
#include <iostream.h>
#include <string.h>
class string
{
public:
	string(char *s="");            //构造函数
	string& operator=(string & );  //重载赋值运算符	
	string(string &);//复制构造函数的参数只能用传引用方式
	~string(){delete[] str;}
	void display(){cout<<str;}
private:
	char *str;
};
//复制构造函数
string::string(string &s1)
{
	int length=strlen(s1.str);
	str=new char[length+1];
	strcpy(str,s1.str); 
}
//构造函数
string::string(char *s)
{
	int length=strlen(s);
	str=new char[length+1];
	strcpy(str,s);
}
//重载赋值运算符
string& string::operator=(string &s)
{
	if (this == &s)   //为了实现对自身赋值
		return (*this);
	if (str != NULL)  //当赋NULL值的时候
	{
		delete[] str;
		str = NULL;
	}
	int length = strlen(s.str);
	str = new char[length + 1];
	strcpy(str , s.str);
	return( *this );  
}
void main()
{
	string s1("Welcome to my world\n");
	s1.display();
	string s2 = s1;   //调用拷贝构造函数
	s2 = s1;          //调用重载赋值运算符
	cout<<"s2 = ";
	s2.display();
}

⌨️ 快捷键说明

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