C++编程思想之运算符重载
2017-08-10 22:44
183 查看
class A
{
public:
int* a;
public:
operator bool()
{
if(a != NULL)
return true;
else
return false;
}
}
int main()
{
A aa;
if(aa){
}else{
}
这个地方if(aa),一开始不懂aa是咋转换成bool类型的,后来看到运算符重载,起初认为重载了 (),后来才知道这其实是重载bool类型,将类型aa自动换换成bool类型。要与这种
bool operator +(int a)相区别,operator前面是返回类型,重载了+。
{
public:
int* a;
public:
operator bool()
{
if(a != NULL)
return true;
else
return false;
}
}
int main()
{
A aa;
if(aa){
}else{
}
这个地方if(aa),一开始不懂aa是咋转换成bool类型的,后来看到运算符重载,起初认为重载了 (),后来才知道这其实是重载bool类型,将类型aa自动换换成bool类型。要与这种
bool operator +(int a)相区别,operator前面是返回类型,重载了+。
相关文章推荐
- C++编程思想----第12章、运算符重载
- C++笔记——c++编程思想(上)第十一、十二、十三章 引用和拷贝构造函数,运算符重载,继承组合等
- C++编程思想(2nd卷一):运算符重载
- C++编程思想笔记——运算符重载
- C++编程思想(2nd卷一):运算符重载
- C++编程思想 12章运算符重载
- C++编程思想--运算符重载
- C++编程思想之回调函数
- C++编程思想(2nd卷一):模板简介
- C++编程思想 第三章习题
- C++编程思想(2nd卷一):名字控制
- C++编程思想(卷二):输入输出流
- C++编程思想(卷二):设计模式:职责链模式
- C++笔记——c++编程思想(上)前3章
- C++编程思想笔记(1001)。。
- C++编程思想读后感(六):Initialization and Cleanup
- C++编程思想
- 手动实现类似容器---c++编程思想
- 【c++编程思想】多重继承
- [转]C语言中的类模拟(C++编程思想)