c++oop分析一:
来源:互联网 发布:深圳阿里云大厦在哪里 编辑:程序博客网 时间:2024/05/17 03:49
运算符重载
运算符重载是一种形式的c++多态。用户定义多个名称相同但参数列表不相同的函数,称为函数重载或函数多态。c++允许将运算符重载扩展到用户定义的类型,例如允许使用+将两个对象相加。
1.运算符函数格式如下:
operatorop<argument-list>下面看对比:(1)没重载://定义时间类:clsss Time{ private: public : Time sum(const Time&t) const;}/*这个sum函数用来计算两个时间对象之和,之所以用参数是引用 是因为引用传递比值传递效率高,而且省内存。*/(2)重载://定义时间类:clsss Time{ private: public : Time Time::operator+(const Time&t) const;}/*和sum()一样,operator+()也是由Time对象调用的,他的第二个Time对象作为参数并返回一个Time对象。*/
可以有下面两种调用方式:Time t1;Time t2;Time sum;sum=t1+t1;sum=t1.operoator(t2);上述两种调用都行。
2.重载的限制:
重载的运算符不必是成员函数,但必须至少有一个操作数必须是用户定义的类型。
上述时间类的其他重载版:Time operator-(const Time &t) const;Time operator*(const Time &t) const;
友元函数:
友元函数是一个和类的成员函数相同权限的非成员函数,可以访问类的私有成员。
friend Time operator*(double m,const Time &t); //重载*常用的友元:重载<<(1)void operator<<(ostream &os,const Time &t){ os<<t.hours<<t.minutes;}(2)ostream & operator<<(ostream &os,const Time &t){os<<t.hours<<t.minutes;return os;}
阅读全文
1 0
- c++oop分析一:
- c++oop分析二:
- 复习一:C的OOP-基本继承
- c#-oop
- C++.OOP
- OOA/OOD/OOP 分析
- Java--OOP细节(一)
- 一、OOP概念
- 一、(四)OOP 规约
- OOP之多态 【C#】
- C++/OOP 大系
- OOP之封装 【C#】
- C++/OOP 大系
- OOP之封装 【C#】
- C++/OOP 大系
- 【C++/OOP】(侯捷著)
- C#OOP中的集合
- [C++]OOP编程基本准则
- 前端多条件选择插件Tags Input
- hadoop生态系统的详细介绍
- STOMP-简单的面向文本消息协议
- windows安装python3.6.1
- Filter-全站压缩
- c++oop分析一:
- 新Eclipse安装与配置
- 算法设计与应用基础
- [NFC]LLCP协议介绍
- 【java】WebSocket(一)——管道式编程
- android下拉菜单spinner的使用方法
- [PAT-乙级]1038.统计同成绩学生
- [NFC]SNEP协议介绍
- JavaScript-基于对象的语言