📄 ch18_7.cpp
字号:
//**********************
//** ch18_7.cpp **
//**********************
#include <string.h>
#include <iostream.h>
class Name{
public:
Name(){ pName = 0; }
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(){ cout << pName << endl; }
protected:
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;
pName = 0;
}
}
void main()
{
Name s("claudette");
Name t("temporary");
t.display();
t = s; //赋值
t.display();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -