C++重载operator = 和初始化 =
来源:互联网 发布:nginx https 无法访问 编辑:程序博客网 时间:2024/05/17 21:40
class
Box{
public
:
int
a;
//重载了 = 操作符,只有在赋值时才会调用,初始化时调用的是构造函数
Box& operator=(
int
x){
a = x;
return
*
this
;
}
/*
//如果要这样:
Box box=10,必须定义下面这个构造函数而不是上面的赋值操作符
。因为这句话不是赋值
Box(int x){
a = x;
}
*/
};
1
2
3
4
5
6
7
void
mymain(){
//Box t = 1;会发生错误,因为这不是赋值,是初始化,会调用Box的构造函数(即Box::Box(int),未定义)而不是赋值操作符。
//要调用赋值操作符应该这样
Box t;
t = 1;
cout << t.a << endl;
}
0 0
- C++重载operator = 和初始化 =
- C++ 操作符重载 operator = 、operator <
- C++ 操作符重载 operator = 、operator <
- 重载赋值操作operator=()
- C++operator重载问题
- [C++]operator--重载
- c++---operator重载++,--
- [C/C++]_[操作符重载operator type()和operator()的区别]
- 奇怪的C++operator重载
- C++(7) 函数重载/operator
- 重载operator new 和 operator delete
- c++重载operator new和operator delete
- 拷贝构造函数与重载operator =
- c++学习记录:operator = 重载
- void operator=(const CClass&) 和 CClass& operator=(const CClass&)两种赋值运算符重载的区别
- 运算符重载 编程题#3(专项课程3;重载:* operator, & operator=, & operator(); 函数 memcpy 的使用)
- 关于重载C++中String operator +和+=中内存泄漏
- more effinctive c++(operator+=)
- minicom使用usb转串口(修改)
- Linux Shell编程(基础教程)
- ElasticSearch:版本冲突处理(事务控制)
- Android wiki : 18.DevicePolicyManager锁屏和清除数据
- NYOJ 64 鸡兔同笼
- C++重载operator = 和初始化 =
- Redis介绍及Redis与Memcache的区别
- 所谓民主
- ubuntu下的usb转串口的使用--minicom
- Android wiki : 19.安装和卸载软件
- ABAP股票查看代码
- MIPI概述
- unity透明物体处理
- 剑指offer:链表中倒数第k个结点(链表)