(1).inline:是一种以空间换时间的做法省去调用函数的额外开销,提高程序的运行效率,它对于编译器而言只是一种建议
(2).友元函数:是可以直接访问类的private成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明
     友元类:友元类的所有成员函数都可以是另一个类的友元函数,都可以访问另一个类的非公有成员
     友元优点:提高程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销)
     友元缺点:破坏了类的封装性和隐藏性使得非成员函数可以访问类的private成员
(3).操作运算符重载:
     规则:
     (1).不可以被重载的操作运算符 "."(类属关系运算符)、".*"(成员指针运算符)、"::"(作用域运算符)、"?:"(三目运算符)、sizeof运算符
     ***除了赋值号(=)外,基类中重载的运算符都将被派生类继承
     (2).只能重载C++中已有的运算符,不能创建新的运算符
     (3).运算符重载实质上是函数重载,因此编译程序对运算符重载的选择,遵循函数重载的原则
     (4).重载之后的运算符不能改变呢运算符的优先级和结合性,也不能改变运算符操作数的个数及语法结构
class Complex
{
Complex(const double _dReal,const double _dImage);
Complex(const Complex& complex);
~Complex();
Complex & operator=(const Complex& complex);
Complex operator+(const Complex complex);
Complex operator-(const Complex complex);
Complex operator*(const Complex complex);
Complex operator/(const Complex complex);
Complex operator+=(const Complex complex);
Complex operator-=(const Complex complex);
Complex operator*=(const Complex complex);
Complex operator/=(const Complex complex);
bool operator<(const Complex complex);
bool operator<=(const Complex complex);
bool operator>(const Complex complex);
bool operator>=(const Complex complex);
bool operator==(const Complex complex);
bool operator!=(const Complex complex);
private:
double _dReal;
double _dImage;
};

inline&friend&操作符重载的更多相关文章

  1. [置顶] operator overloading(操作符重载,运算符重载)运算符重载,浅拷贝(logical copy) ,vs, 深拷贝(physical copy)

    operator overloading(操作符重载,运算符重载) 所谓重载就是重新赋予新的意义,之前我们已经学过函数重载,函数重载的要求是函数名相同,函数的参数列表不同(个数或者参数类型).操作符重 ...

  2. C++ operator overload -- 操作符重载

    C++ operator overload -- 操作符重载 2011-12-13 14:18:29 分类: C/C++ 操作符重载有两种方式,一是以成员函数方式重载,另一种是全局函数. 先看例子 # ...

  3. 【C++】C++中的操作符重载

    C++中的操作符重载使得对于类对象的操作更加方便和直观,但是对于各种操作符重载的规则以及语法形式,一直以来都是用到哪一个上stackoverflow上查找,在查找了四五次之后,觉得每次麻烦小总结一下. ...

  4. HDU——1005Number Sequence(模版题 二维矩阵快速幂+操作符重载)

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  5. c++ 操作符重载和友元

    操作符重载(operator overloading)是C++中的一种多态,C++允许用户自定义函数名称相同但参数列表不同的函数,这被称为函数重载或函数多态.操作符重载函数的格式一般为: operat ...

  6. paip.操作符重载的缺失 Java 的一个大缺点

    paip.操作符重载的缺失 Java 的一个大缺点 #----操作符重载的作用 1.提升用户体验 操作符重载..可以让代码更加自然.... 2.轻松实现代码代码移植 例如   java代码会直接移植到 ...

  7. C#中如何利用操作符重载和转换操作符

    操作符重载 有的编程语言允许一个类型定义操作符应该如何操作类型的实例,比如string类型和int类型都重载了(==)和(+)等操作符,当编译器发现两个int类型的实例使用+操作符的时候,编译器会生成 ...

  8. 操作符重载.xml

    pre{ line-height:1; color:#1e1e1e; background-color:#d2d2d2; font-size:16px;}.sysFunc{color:#627cf6; ...

  9. C++一些注意点之操作符重载

    重载操作符需要注意 (1)重载操作符必须具有一个类类型操作数.不能重载内建类型的操作符. operator +(int,int);//这个是错误的,都为内建类型 operator +(int,clas ...

随机推荐

  1. 20172306 《Java程序设计与数据结构》第七周学习总结

    20172306<Java程序设计>第七周学习总结 教材学习内容总结 这一章的标题是继承.主要学习了有关继承的相关知识.其中在这五节中,我学到了以下几点: 1.继承主要表达的是" ...

  2. openssl编译安装-各种蛋疼

    arm平台  ubuntu Linux xxxxxx 3.0.62 #2 PREEMPT Tue Apr 2 20:14:12 CST 2013 armv7l armv7l armv7l GNU/Li ...

  3. 使用crf++

    在example文件夹下存在4个使用crf的实例 1.在命令行执行 进入路径:./example/seg 执行:sh exec.sh 2. 在python中执行 进入路径:./python 执行:(1 ...

  4. Flex labelFunction 用法

    <mx:VBox horizontalAlign="left" height="100%" width="100%"> < ...

  5. SQL Server 2008中的MERGE(不仅仅是合并)

    SQL Server 2008中的MERGE语句能做很多事情,它的功能是根据源表对目标表执行插入.更新或删除操作.最典型的应用就是进行两个表的同步. 下面通过一个简单示例来演示MERGE语句的使用方法 ...

  6. Android Studio 老提示adb问题

    Android Studio 老提示adb问题,restart后任然无解,最后发现某手机助手软件占用端口... 解决步骤: C:\Users\xxx>netstat -ano | findstr ...

  7. 2018.11.06 bzoj1097: [POI2007]旅游景点atr(最短路+状压dp)

    传送门 预处理出不能在每个点停留之后才停留的点的状态. 对kkk个点都跑一次最短路存下来之后只需要简单状压一下就能过了吐槽原题空间64MB蒟蒻无能为力 然后用fillfillfill赋极大值的时候当m ...

  8. 2018.10.24 NOIP模拟 小 C 的数组(二分+dp)

    传送门 考试自己yyyyyy的乱搞的没过大样例二分+dp二分+dp二分+dp过了606060把我自己都吓到了! 这么说来乱搞跟被卡常的正解比只少101010分? 那我考场不打其他暴力想正解血亏啊. 正 ...

  9. javascript捕获页面窗口关闭事件

    javascript捕获窗口关闭事件有两种方法 onbeforeunload()      ,onUnload() 用法有两种: 1.    function      window.onbefore ...

  10. python code(1)

    from collections import UserList class MthChianList(UserList): def filter(self,predicste): return Mt ...