C 實驗四 運算子過載和虛函式

2021-10-10 13:20:06 字數 1411 閱讀 9533

內容提要

1.對於類mystring,要求過載『+』運算子後可以計算表示式:a=b+c;表示兩個字串連線。其中a,b,c都是類mystring的物件。

2.使用虛函式編寫程式求球體和圓柱體的體積及表面積。由於球體和圓柱體都可以看作由圓繼承而來,所以可以定義圓類circle作為基類。在circle類中定義乙個資料成員radius和兩個虛函式area()和volume()。由circle類派生sphere類和column類。在派生類中對虛函式area()和volume()重新定義,分別求球體和圓柱體的體積及表面積。

基本要求

過載相應的運算子並編寫程式,能運用虛函式編寫程式測試並提交程式。

1. 過載+

#define _crt_secure_no_warnings

#include

#include

using

namespace std;

class

mystring

mystring operator

+(mystring& s)

friend ostream&

operator

<<

(ostream& _cout, mystring& s)

;private

:char

* _ptr;};

ostream&

operator

<<

(ostream& _cout, mystring& s)

intmain()

2. 虛函式求體積表面積

#include

using

namespace std;

double pi =

acos(-

1);//圓,介面類

class

circle

;//球

class

sphere

:public circle

//表面積

virtual

double

area()

//體積

virtual

double

volume()

};//圓柱

class

column

:public circle

//表面積

virtual

double

area()

//體積

virtual

double

volume()

private

://高

double _h;};

intmain()

c 運算子過載實驗

這次的實驗課畢竟是花了我一點時間的我覺得蠻有趣的分享給你們 1.編寫乙個程式,其中設計乙個時間類time,用來儲存時 分 秒等私有資料成員,通過過載操作符 實現兩個時間的相加。要求將小時範圍限制在大於等於0分鐘範圍限制在0 59分,秒鐘範圍限制在0 59秒。class time include in...

C 實驗 運算子過載

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

C 運算子過載和函式過載

c 允許在同一作用域中的某個函式和運算子指定多個定義,分別稱為函式過載和運算子過載。過載宣告是指乙個與之前已經在該作用域內宣告過的函式或方法具有相同名稱的宣告,但是它們的引數列表和定義 實現 不相同。當呼叫乙個過載函式或過載運算子時,編譯器通過把您所使用的引數型別與定義中的引數型別進行比較,決定選用...