几个典型运算符重载(C++)(四)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

return
void main( )
{ Increase a , b , n ;
for ( int i = 0 ; i < 10 ; i ++ ) a = n ++ ;
cout <<"n= " ; n.display( ) ; cout <<"a= " ;
a.display( ) ; for ( i = 0 ; i < 10 ; i ++ )
{ Increase temp; temp.value = value ++ ; return
temp; }
void main( )
{ Increase a , b , n ;
for ( int i = 0 ; i < 10 ; i ++ ) a = n ++ ;
cout <<"n= " ; n.display( ) ; cout <<"a= " ;
7.3 几个典型运算符重载
2021/3/12
精品课件
1
6.3 几个典型运算符重载
7.3 几个典型运算符重载
➢ 数学类中常用的几个运算重载的特点和应用
2021/3/12
精品课件
2

A Aobject ;
运算符 + + 和 - - 有两种方式:
前置方式:
++Aobject
7.3.1 重载 ++ 与 --
// 前置
Increase operator ++ ( int ) ;
// 后置
private: unsigned value ;
};
Increase Increase :: operator ++ ( )
{ value ++ ; return *this ; }
Increase Increase :: operator ++ ( int )
b+=++n+; n ;
cout << "n= " ; n.display( ) ; cout << "b= " ;
2021/3b/.1d2isplay( ) ;
class Increase { public :
成员函数重载++
6.3.1 重载++与--
Increase ( ) { value=0; }
void display( ) const { cout<<value<<'\n'; } ;
Increase operator ++ ( ) ;
// 前置
prII(invn)accrt;reeea: asesuenospiogepnreaedtroarvt+aol+rue+( ;i+nt ) ;
a.display( ) ;
for ( i = 0 ; i < 10 ; i ++ ) b = ++ n ;
cout << "n= " ; n.display( ) ; cout << "b= " ;
2021/3b/.1d2isplay( ) ;
精品课件
}
成员函数重载++
4
#include<iostream.h>
// 后置
Increase Increase :: operator ++ ( )
In{I+{ncIn+vrcecarral(eeusa)aeess+eeIn+ctIer;nemcarprseee;tau::tsreonemp*:ep:trh.oavitapsolue;rer}+a=+tov(rainlute) ++ ; tem{ vpa; }lue ++ ; return * this ; }
后置方式:
Aobject ++
Aobject --
2021/3/12
成员函数 重载 A :: A operator++ (int) ;
解释为:
Aobject . operator + + ( 0 ) ;
友员函数 重载: friend A operator++ (A &, int) ;
解释为:
operator++(Aobject, 0)
return
void main( )
{ Increase a , b , n ;
for ( int i = 0 ; i < 10 ; i ++ ) a = n ++ ;
cout <<"n= " ; n.display( ) ; cout <<"a= " ;
a.display( ) ; for ( i = 0 ; i < 10 ; i ++ )
};
// 后置
预定义版本
Increase Increase :: operator ++ ( )
In{I+{ncIn+vrcecarral(eeusa)aeess+eeIn+ctIer;nemcarprseee;tau::tsreonemp*:ep:trh.oavitapsolue;rer}+a=+tov(rainlute) ++ ; tem{ vpa; }lue ++ ; return * this ; }
精品课件
3
#include<iostream.h>
class Increase
{ public :
6.3.1 重载++与--
Increase ( ) { value=0; }
void diwk.baidu.complay( ) const { cout<<value<<'\n'; } ;
Increase operator ++ ( ) ;
b+=++n+; n ;
cout << "n= " ; n.display( ) ; cout << "b= " ;
2021/3b/.1d2isplay( ) ;
精品课件
5
}
#include<iostream.h>
class Increase
{ public :
6.3.1 重载++与--
Increase ( ) { value=0; }
6.3.1 重载++与--
--Aobject
成员函数 重载 A :: A operator++ () ;
解释为:
Aobject . operator + + ( ) ;
友员函数 重载伪参数 friend A operator++ (A &) ;
解释为:
operator + + ( Aobject ) ;
void display( ) const { cout<<value<<'\n'; } ;
Increase operator ++ ( ) ;
// 前置
prII(invn)accrt;reeea: asesuenospiogepnreaedtroarvt+aol+rue+( ;i+nt ) ;
};
相关文档
最新文档