demo_operator_05.cpp
来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 56 行
CPP
56 行
//************************************************
# include <iostream.h>
# include <string.h>
class Name
{
public:
Name() { pName=NULL; } //默认构造函数
Name(char * pN) { copyName(pN); } //构造函数
Name(Name & s) { copyName(s.pName); } //拷贝构造函数
~Name() { deleteName(); } //析构函数
Name & operator=(Name & s) //赋值运算符
{
deleteName();
copyName(s.pName);
return *this;
}
void display(Name & s)
{
cout<<s.pName<<endl;
}
private:
void copyName(char * pN);
void deleteName();
char * pName;
};
void Name::copyName(char * pN)
{
pName=new char[strlen(pN)+1];
if(pName)
{
strcpy(pName,pN);
}
}
void Name::deleteName()
{
if(pName)
{
delete [] pName;
}
}
void main()
{
Name s("Sam"),t("Ted");
t.display(t);
t=s; //赋值
t.display(t);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?