C 實驗 運算子過載

2021-10-23 21:22:26 字數 3408 閱讀 9282

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 ...