重载操作符时选择成员还是非成员实现
来源:互联网 发布:淘宝分销不好做 编辑:程序博客网 时间:2024/05/06 08:39
1、赋值(=),下标([ ]),调用(())和成员访问箭头(->)等操作符必须定义为成员,如果定义为非成员的话,程序在编译的时候,会发生错误。
2、和赋值操作符一样,复合赋值操作符通常定义为成员。与赋值操作符不同的是,不一定飞的这样做,如果定义为非成员,编译器不会报告错误。
3、改变对象状态或者与给定类型紧密联系的其他一些操作符,入自增,自减和解引用,通常定义为类成员
4、对称的操作符,for example:算数操作符、相等操作符、关系操作符和位操作符,最好定义为非成员函数。
5、IO操作符必须定义为非成员函数,我们不能将该操作符定义为类的成员函数,否则,左操作数将只能是该类类型的对象
//if operator<< is a member of Salse_itemSales_item item;item<<cout;
这个用法与正常的应用正好相反,如果需要支持正常的用法,则左操作数必须是ostream类型。这意味着,如果该操作符是类的成员,则他必须是ostream类的成员,然而,ostream类是标准库的组成部分,是不能为标准库中的类增加成员的。
将该函数在类内部设置为friend,访问类私有的数据成员。
- 重载操作符时选择成员还是非成员实现
- 操作符重载成员还是非成员函数选择【c++ primer 】
- 4.操作符重载:成员还是非成员 和 5.重载、缺省值以及省略符
- 操作符重载应该设计成类成员函数还是普通非成员函数?
- 重载的操作符成员函数与非成员函数
- 将重载运算符定义为成员函数还是普通的非成员函数
- 操作符重载为成员函数还是友元函数?
- 重载操作符时不管类成员还是名字空间成员,对于参数都支持类型转换
- C#学习之静态成员和非静态成员,构造函数,方法,方法参数,操作符重载,事件
- C++基础知识复习--运算符重载(非成员函数重载和成员函数重载)
- day06 静态成员、成员指针、操作符重载
- 操作符重载++类成员+全局
- c++ 重载的成员访问操作符
- 成员访问(->)操作符的重载
- day_07_成员指针、操作符重载
- C++ 友元函数和非成员运算符重载
- Day41、静态成员变量、静态成员函数、单例模式、成员/成员函数指针、操作符重载、友元函数
- 运算符重载 定义为类成员函数or非成员函数
- Android 忘记锁屏密码的解决办法
- 全排列的生成算法
- 列表框显示进程图标
- POJ 1141 Brackets Sequence
- 开始吧,在老去之前
- 重载操作符时选择成员还是非成员实现
- C++程序设计实验报告(七十七)---第十五周任务三(3-1)
- VIM配置文件
- POJ 1505 Copy books
- WebBrowser与IE的关系,如何设置WebBrowser工作在IE9模式下?
- form表单中name和id区别
- CSS学习之 浮动
- Android NDK: Could not find application project directory !
- PHP语言精粹笔记(2)