定義了乙個person類,派生出乙個student類,通過person的乙個指標來呼叫student類中定義成虛函式的show函式,過載了運算子'>',比較兩個學生的成績,先比較總分,總分相同比較數學,過載流插入運算子,用來輸出成績較高的同學的各科成績;
**:#include #include using namespace std;
class person
virtual void show()
int getsum()
void show()
else if(this->sum == stu.getsum())
}else
return false;
}friend ostream &operator<<(ostream &out, const student &stu){
out<<"math:"st = &t;
st->show();
cout<<"成績高的同學的成績是:"cout<
運算子過載函式的繼承問題
除 operator 之外的所有基類運算子都會自動繼承 但它們操作的都是子類中 基類的成員 即,如果x和 y都有int成員 i,y沒有重寫 這個操作符 則 y y y 加的是x中的i 而不是y中的 i 同理operator 的意義也不會檢測y中的 i。include using namespace ...
成員運算子過載函式與友元運算子過載函式的比較
1 對雙目運算子而言,成員運算子過載函式引數表中含有乙個引數,而友元運算子過載函式引數表中含有兩個引數 對單目運算子而言,成員運算子過載函式引數表中沒有引數,而友元運算子過載函式引數表中含有兩個引數。2 雙目運算子一般可以被過載為友元運算子過載函式或成員運算子過載函式,但有一種情況,必須使用友元函式...
C 語法細微 四 運算子過載 繼承派生
運算子過載的方法 函式型別 operator 運算子名稱 形參表列 函式operator 過載了運算子 c 不允許使用者自己定義新的運算子 只能對已有的c 運算子進行過載 只有5個運算子不能被過載 成員訪問運算子 成員指標訪問運算子 域運算子 sizeof 長度運算子 條件運算子 過載不能改變運算子...