2011年12月20日
摘要: 运算符重载(operator overloading)是一种语法糖(syntactic sugar),是函数调用的另一种方式,合理地使用它,能使我们的代码更加地易写、易读。 重载运算符时的注意事项 1. 不能重载C/C++中没有的运算符,如使用(**)来代表幂运算符; 2. 不能改变运算符的优先级; 3. 不能改变运算符的操作数个数 4. 不可重载的运算符 1) 成员选择运算符operator.。点在类中对任何成员都有一定的意义。 如果允许它重载,就不能用普通的方法访问成员, 只能用指针和operator->进行访问。 2) 成员指针间接引用operator.*。原因... 阅读全文
posted @ 2011-12-20 11:35 sanlo 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 一、引用(reference) 引用的规则 1. 当引用被创建时它必须被初始化。 2. 一旦一个引用被初始化为一个对象,它就不能改变为另一个对象的引用。 3. 不能有NULL引用。必须确保引用和一块合法的存储单元关联。 怎样选择引用和指针 在下面两种情况下应使用指针: 1. 存在不指向任何对象的可能,这种情况下你可能将指针设置为NULL; 2. 你需要在不同的时刻指向不同的对象。 反之,如果总是指向一个对象,并且一旦指向一个对象后就不会改变指向,这种情况下应该使用引用。 二、拷贝构造函数 什么时候需要拷贝构造函数 仅当需要按值传递的方式传递一个类对象时,我们才需要拷... 阅读全文
posted @ 2011-12-20 11:29 sanlo 阅读(383) 评论(0) 推荐(0) 编辑