#include<iostream>
#include<string>
using namespace std;
class Animal{
public:
Animal& operator=(const Animal& animal) &;//&引用限定符指定该赋值运算符只能用于左值 ;&&限定符指定赋值运算符只能用于右值
private:
string name;
int weight;
};
Animal& Animal::operator=(const Animal& animal) &{
if(this!=&animal){
name=animal.name;
weight=animal.weight;
}
cout<<"Animal::operator=(const Animal& animal)&"<<endl;
return *this;
}
int main(){
Animal bird1,bird2,bird3;
move(bird1)=bird3;//error
bird2=bird3;//ok
}
相关文章
- Java:方法的参数是传值还是传引用
- Eclipse插件开发:Eclipse中的图片资源管理(引用)
- cocos2dx 3.10 Win32和Android引用libcurl库路径问题
- Effective C++ 第二版 31)局部对象引用和函数内new的指针 32)推迟变量定义
- C++指针参数引用
- VS2013新建MVC5项目,使用nuget更新项目引用后发生Newtonsoft.Json引用冲突的解决办法
- 关于Newtonsoft.Json引用报错
- 无法从Heroku引用Django项目的静态文件
- 如何安全地引用Web根目录之外的ASP经典包含文件?
- 使用eclipse时,如何从项目属性中的库中引用ANT HOME?