c 運算子過載實驗

2021-10-05 23:33:28 字數 3045 閱讀 1954

這次的實驗課畢竟是花了我一點時間的我覺得蠻有趣的分享給你們

1.編寫乙個程式,其中設計乙個時間類time,用來儲存時、分、秒等私有資料成員,通過過載操作符「+」實現兩個時間的相加。要求將小時範圍限制在大於等於0分鐘範圍限制在0-59分,秒鐘範圍限制在0-59秒。

class

time

;#include

#include

using

namespace std;

class

time

intgetminutes()

intgetseconds()

void

sethours

(int h)

void

setminutes

(int m)

void

setseconds

(int s)

time

(int h=0,

int m=0,

int s=0)

; time operator

+(time &);

void

disptime()

;};time::

time

(int h,

int m,

int s)

if(minutes>=60)

}time time::

operator

+(time &time)

void time::

disptime()

intmain()

編寫乙個程式,用於進行集合的並、差和交運算。例如輸入整數集合和,計算出它們進行集合的並、差和交運算後的結果。

【提示】

(1)可用以下表示式實現整數集合的基本運算:

s1+s2 兩個整數集合的並運算

s1-s2 兩個整數集合的差運算

s1s2 兩個整數集合的交運算

(2)參考以下set類的框架,用於完成集合基本運算所需的各項功能。

class set;

#include

#include

#include

using

namespace std;

const

int max=

100;

class

setset

(int

*a,int n)

len=n;

}void

input

(int d)

;int

length()

;int

getd

(int i)

;void

disp()

; set operator

+(set s1)

; set operator

-(set s1)

; set operator

*(set s1)

; set operator

=(set s1);}

;void set::

input

(int d)

void set::

disp()

cout<<

"}"<}int set::

length()

int set::

getd

(int i)

bool

equal

(int a,

int b)

//集合的並

set set::

operator

+(set s1)

for(

int j=

0; jlength()

; j++

)sort

(set.s,set.s+set.

length()

);//去掉相鄰重複元素

int n=

unique

(set.s,set.s+set.

length()

)-set.s;

//獲取長度

set.len=n;

return set;

}//集合的交

set set::

operator

*(set s1)}}

return set;

}//集合的差

set set::

operator

-(set s1)}if

(flag2)

}return set;

}set set::

operator

=(set s1)

sort

(this

->s,

this

->s+

this

->

length()

);return

*this;}

intmain()

計算集合的並差和交運算

int a1=

;int a2=

; set s1

(a1,6)

,s2(a2,4)

,s3;

cout<<

"集合s1:"

;s1.

disp()

; cout<<

"集合s2:"

;s2.

disp()

; s3=s1+s2;

cout<<

"集合的並"

;s3.

disp()

; s3=s1-s2;

cout<<

"集合的差"

;s3.

disp()

; s3=s1*s2;

cout<<

"集合的交"

; s3.

disp()

; s3=s1;

cout<<

"將s1賦值給s3:"

;s3.

disp()

;return0;

}

C 實驗 運算子過載

1.實驗目的 1 進一步了解運算子過載的概念與使用方法。2 掌握幾種常用的運算子過載方法。3 了解轉換建構函式的使用方法。4 了解在visual c 6.0環境下進行運算子過載要注意的問題。2.實驗內容 1 宣告乙個複數類,過載運算子函式作為其成員函式,使之用於複數計算 2 宣告乙個複數類,過載運算...

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