为了账号安全,请及时绑定邮箱和手机立即绑定
  • 索引运算符只能用成员运算符重载,返回值int类型 因为重载索引时,函数的第一个隐藏的默认参数为*this且只能为*this,表明指向当前对象的元素,这使得重载后,索引下标访问的也只能是当前对象中的数据元素。
    查看全部
  • 输出运算符只能用友元函数重载,返回值ostream,且是一个引用&,关键字operator,符号<<,第一个参数是ostream对象,起名&output,输出对象coordinate,使用引用效率高&coor, 加&代表返回值是类的引用,用引用可以加快运行效率。负号返回的是一个对象的引用,加号返回的是一个对象 ostream&operator<<(ostream &output,coordinate &coor) {output<<coor.m_iX<<endl; return output; }
    查看全部
  • 声明+号运算符的友元函数重载,返回值coordinate,其次关键字operator,写完后重载的是那个符号+,传入两个参数加数和被加数,分别给参数起名字(Coordinate c1,Coordinate c2) 然后实现一下, Coordinate operator+(Coordinate c1,Coordinate c2) {Coordinate temp(0,0)临时实例化 temp.m_iX=c1.m_ix+c2.m_iX return temp; }
    查看全部
  • 声明+号运算符的成员函数重载,首先返回值是coordinate对象,其次要想声明一个符号的重载必须要使用关键字operator,写完后重载的是哪个符号,就写上哪个符号,作为二元运算符的重载,第一个操作数是this指针,第二个就是我们要传入的参数,故()里写上coordinate,它应该是个对象或是引用,写上一个c再加上引用符号&。 Coordinate operator+(Coordinate &c); 实现函数,讲函数声明为某个类的函数,需要加类名 Coordinate Coordinate::operator+(Coordinate &c) {Coordinate temp(0,0);临时实例化对象,传入两个坐标值一个x一个y temp.m_iX=this->m_iX+c.m_iX; return temp; } 然后再实例化两个对象 Coordinate coor1(1,2); Coordinate coor2(3,4); Coordinate coor3(0,0); coor3=coor1+coor2; cout<<coor3.getX()<<endl;
    查看全部
  • 输出运算符不能采用成员函数重载原因:对于输出运算符来说,第一个对象必须是ostream就意味着不能是this指针不能是当前这个对象,所以当我们去重载<<这个输出运算符的时候绝对不可以通过成员函数进行重载。必须使用友元函数来进行重载。
    查看全部
  • ++运算符的后置重载
    查看全部
  • 一元运算符重载
    查看全部
  • 索引运算符不可以采用友元函数重载的原因:友元函数第一个参数可以是成员函数重载的那个this指针也可以是其他的值,但是作为索引运算符来说它的第一个值必须得是this指针,因为只有第一个参数是this指针,才能够传入索引,才能够使这个索引所表达的是当前这个对象的当中的成员。
    查看全部
  • 索引运算符不能进行友元函数重载,输出运算符不能进行成员函数重载
    查看全部
  • cout 是ostream类的对象,不是this指针,所以只能通过友元函数进行重载
    查看全部
  • 注意事项
    查看全部
    0 采集 收起 来源:[C++]静态

    2017-02-21

  • <<运算符定义friend ostream& operator<<(ostream &out,const 类&p); 引用ostream& operator<<(ostream &out,const 类&p) {out<<.... return out}输出运算符“<<”只能通过友元函数进行重载
    查看全部
  • 静态的成员函数并不会传入一个隐形的this指针,所以在静态的成员函数中无法调用非静态的成员
    查看全部
    0 采集 收起 来源:[C++]静态

    2017-02-21

  • Watch(Time&t):m_tTime(t)
    查看全部
    1 采集 收起 来源:单元巩固

    2018-03-22

  • 运算符重载:给原有的运算符服役新的功能。运算符重载的本质就是函数的重载。关键字operator 重载方式 1,友元函数重载:在类当中定义一个友元函数,这个与友元函数函数是个全局函数通过它实现运算符的功能。 2,成员函数重载:定义一个成员函数,进行对运算符的实现 类名+引用+关键字operator+符号+括号。
    查看全部

举报

0/150
提交
取消
课程须知
学习本课程需要有一定的C语言和C++语言基础。如基础不太扎实的同学可以,参与C++远征攻略的学习计划,友情链接 http://www.imooc.com/course/programdetail/pid/42
老师告诉你能学到什么?
1、友元函数及友元类的定义及使用方法 2、静态数据成员和静态成员函数的定义及使用方法 3、运算符重载的技巧 4、函数模板和类模板的定义及使用方法 5、标准模板库的使用方法及基本原理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!