Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46123
  • 博文数量: 25
  • 博客积分: 930
  • 博客等级: 准尉
  • 技术积分: 257
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-25 08:59
文章分类

全部博文(25)

文章存档

2010年(6)

2009年(18)

2008年(1)

我的朋友
最近访客

分类: C/C++

2009-04-20 20:27:57

class NameObject
{
public:
  NameObject(string& name,const int & value);
....
private:
 
 string& nameValue;
 const int objectValue;
 
};
 
考虑下面的情况:
string newDog("per");
string oldDog("sat");
NameObject p(newDog,2);
NameObject s(oldDog,36);
     p=s;
p=s是调用copy assignment操作的,而它做的是安值传递的, 将一个引用赋给另一个引用(编译不通过)。
将一个const变量给一个const变量(编译也不通过),面对这个难题C++不能进行编译,如果一定要做P=S ,自己就要重写 copy assignment("NameObject &operator =()") 操作了
阅读(587) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~