1.實驗目的
(1)進一步了解運算子過載的概念與使用方法。
(2)掌握幾種常用的運算子過載方法。
(3)了解轉換建構函式的使用方法。
(4)了解在visual c++6.0環境下進行運算子過載要注意的問題。
2.實驗內容
(1)宣告乙個複數類,過載運算子函式作為其成員函式,使之用於複數計算;
(2)宣告乙個複數類,過載運算子「+」,使之用於複數加法運算,同時求複數、整數的和;
(3)求已知的矩陣之和,過載運算子「+」,使之用於矩陣相加;
(4)宣告乙個教師類和學生類,有部分資料成員相同,轉換學生物件為教師類,將相同資料移植過去。
3.實驗**
#include
using
namespace std;
class
complex
complex
(double r,
double i)
complex operator
+(complex &c2)
; complex operator
-(complex &c2)
; complex operator
*(complex &c2)
; complex operator
/(complex &c2)
;void
display()
;private
:double real;
double imag;};
complex complex::
operator
+(complex &c2)
complex complex::
operator
-(complex &c2)
complex complex::
operator
*(complex &c2)
complex complex::
operator
/(complex &c2)
void complex::
display()
intmain()
#include
using
namespace std;
class
complex
complex
(double r,
double i)
complex operator
+(complex &c2)
; complex operator+(
int&i)
;friend complex operator+(
int&
, complex &);
void
display()
;private
:double real;
double imag;};
complex complex::
operator
+(complex &c)
complex complex::
operator+(
int&i)
void complex::
display()
complex operator+(
int&i, complex &c)
intmain()
#include
using
namespace std;
class
matrix
;matrix::
matrix()
matrix operator
+(matrix &a, matrix &b)
return c;
}void matrix::
input()
void matrix::
display()
cout<< endl;}}
intmain()
#include
using
namespace std;
class
student
char
*get_name()
char
get_***()
void
display()
private
:int num;
char name[20]
;char ***;
float score;};
student::
student
(int n,
char nam,
char s,
float sco)
class
teacher
teacher
(student&);
teacher
(int n,
char nam,
char ***,
float pay)
;void
display()
;private
:int num;
char name[20]
;char ***;
float pay;};
teacher::
teacher
(int n,
char nam,
char s,
float p)
teacher::
teacher
(student& stud)
void teacher::
display()
intmain()
4.實驗結果(1)
5.實驗總結
(1)運算子過載的方法是定義乙個過載運算子函式的過載,使指定的運算子不僅能實現原有的功能,而且能實現在函式中指定的新功能;
(2)運算子過載實質上是函式的過載。
c 運算子過載實驗
這次的實驗課畢竟是花了我一點時間的我覺得蠻有趣的分享給你們 1.編寫乙個程式,其中設計乙個時間類time,用來儲存時 分 秒等私有資料成員,通過過載操作符 實現兩個時間的相加。要求將小時範圍限制在大於等於0分鐘範圍限制在0 59分,秒鐘範圍限制在0 59秒。class time include in...
C 實驗7 運算子過載
定義乙個複數類,過載運算子 使之能用於複數的加 減 乘 除。要求 過載運算子 用成員函式 過載運算子 用友元函式,實現兩個複數的和 差 積 商。如下 標頭檔案 如下 pragma once class complex main 如下 includeusing namespace std includ...
實驗五運算子過載
include includeusing namespace std class rational 定義乙個有理數類 rational int operator rational r const int operator rational r const int operator rational ...