l8_5.cpp

来自「《C++程序设计教程》-杨国兴-电子教案及例题 C++程序设计PPT课件 h」· C++ 代码 · 共 54 行

CPP
54
字号
#include "iostream.h"
#include "string.h"
class  A 
{
private:
	char *str;
public:
	A(char *s="no data");
	~A();
	A &operator =(A &a);
	void print();
};
A::A (char *s)
{ 
	int len = strlen(s);
	str = new char[len+1];
	strcpy(str,s);
}
/*
A::A (A &a)
{ 
	int len = strlen(a.str);
	str = new char[len+1];
	strcpy(str,a.str);
}
*/
A::~A ()
{ 
	if(str)
		delete []str;
}
A &A::operator =(A &a)
{ 
	int len = strlen(a.str);
	if(str)
		delete []str;
	str = new char[len+1];
	strcpy(str, a.str);
	return *this;
}
void A::print()
{
	cout << str << endl;
}
void main(void)
{
    A *p = new A("AAAA");
	A a1,a2;
	a2=a1=*p;
	a1.print();
	delete p;
	a1.print();
}

⌨️ 快捷键说明

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