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

📄 第一章5.txt

📁 本书在复习C++基础知识后
💻 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 + -