4期c++9月22号

今天知识点主要关于运算符的重载。在讲课的过程中用到了之前的this指针问题和引用知识点,这两个点我都是没有掌握熟练,因此下午的一个小时时间我重新温习了这两个知识点。

其中的一个知识点:使用引用返回,返回数据成员本身。例子:float &aa(){return(a);}返回a。

运算符重载知识点:

1 运算符重载格式:类型名operator运算符(形参表){函数体}operator运算符是函数名字

以+运算符为例分析知识点:{在class  aa类里面写出aa operator +(aa & a,aa& b){aa c;

c.aaa()=a.aaa()+b.aaa(); c.bbb()=a.bbb()+b.bbb(); return(c);}重载函数。在主函数里写出调用

aa  c=a+b;或者aa c=operator +(a,b);  “aa  c=a+b;”求职转化了函数的调用,就像调用operator +函数,以a和b作为实参。}

为方便访问,会使用友元形式重载。friend aa operator +(aa&,aa&);Int或者aa operator +(aa & a,int&b);

2 要注意的一点是运运算符重载时参数个数不可以超过原来数目,运算符重载时参数个数不可以超过原来数目。就是不能都是int这种c++提供的内部类型。

对于运算符的一些限制:

只能是成员的运算符:(系统为类提供的)=、()、[ ]、-〉

只能是友元的运算符:(cout是其它类的对象)cout<<、cin>>

既可以友元也可以成员的:(定义者提供)+、-等。

3 赋值运算符重载:

拷贝构造函数和赋值操作符都是用来拷贝一个类的对象给另一个同类型的对象void fn(A a){ A na=a;   拷贝构造函数:将一个对象拷贝到另一个新对象A b;b=a;}赋值运算符:将一个对象为另一个已经存在的对象赋值

4 类型转换运算符声明的形式:operator 类型名();没有参数,没有返回类型,(其返回类型由函数名字指定)但是函数体中必须包含return语句

欲速则不达
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C++运算符重载-上篇 本章内容:1. 运算符重载的概述2. 重载算术运算符3. 重载按位运算符和二元逻辑运算符4...
    Haley_2013阅读 2,323评论 0 51
  • 今天学习的是运算符的重载: 运算符重载: 使用运算符重载的一般格式为: 类型名 operator 运算符(形参表...
    张正戈hg阅读 325评论 0 0
  • 运算符重载 1.一般格式为: 类型名 operator 运算符(形参表){函数体} 运行方式:调用函数进行计算,...
    张梦涵625阅读 225评论 0 0
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,537评论 1 51
  • 工作中经常会遇到需要读取远程服务器的数据,目前流行的是有两种方法: 1.通过json数组形式返回给客户端 2.服务...
    窗外花絮阅读 1,932评论 0 49