📄 第一章5.txt
字号:
#include <iostream.h>
#include <string.h>
class CName
{
public:
CName()
{
strName = NULL;
}
CName( char *str )
{
strName = (char *)new char[strlen(str)+1];
strcpy( strName, str ); // 复制内容
}
CName( CName &one ) // A:显式的默认拷贝构造函数
{
// 为strName开辟独立的内存空间
strName = (char *)new char[strlen(one.strName)+1];
strcpy( strName, one.strName ); // 复制内容
}
CName( CName &one, char *add) // B:带其他参数的拷贝构造函数
{ // 为strName开辟独立的内存空间
strName = (char *)new char[strlen(one.strName) + strlen(add) +1];
strcpy( strName, one.strName ); // 复制内容
strcat( strName, add); // 连接到strName
}
~CName()
{
if (strName) delete []strName;
strName = NULL; // 一个好习惯
}
char *getName()
{
return strName;
}
private:
char *strName; // 字符指针,名称
};
int main()
{
CName o1("DING"); // 通过构造函数初始化
CName o2(o1); // 通过显式的默认拷贝构造函数来初始化
cout<<o2.getName()<<endl;
CName o3(o1, " YOU HE"); // 通过带其他参数的拷贝构造函数来初始化
cout<<o3.getName()<<endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -