background image

string& string::operator =(const string &rhs)
{
if ( this &rhs)
return *this ;

 

delete []m_data; //删除原来的数据,新开一块内存
m_data = new char[strlen(rhs.m_data) + 1];
strcpy(m_data,rhs.m_data);
return *this ;
}

string::~string()
{

 

delete []m_data ;
}

③网上流传的 c++笔试题汇总
1.求下面函数的返回值(微软)

int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}

假定 x = 9999  

。 答案:8

思路:将 x 转化为 2 进制,看含有的 1 的个数。

2. 

什么是 引用 ?申明和使用 引用 要注意哪些问题?

答:引用就是某个目标变量的 别名 (alias),对应用的操作与对变量直接操作效果完全相同。申明一个
引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名
称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只
表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统
也不给引用分配存储单元。不能建立数组的引用。

3.  “

将 引用 作为函数参数有哪些特点?