物件導向 過載

2021-10-24 12:54:15 字數 2143 閱讀 2836

運算子過載,尤其是前置自增後置自增

#includeusing namespace std;

class fraction

fraction(int a,int b):num1(a),num2(b)

fraction operator+ (const fraction &f)const;

fraction operator- (const fraction &f)const;

fraction operator* (const fraction &f)const;

fraction operator/ (const fraction &f)const;

fraction operator++(); // 前置自增

fraction operator++(int); // 後置自增

void print()

//private:

int num1,num2;

};fraction fraction::operator+ (const fraction &f)const

fraction fraction::operator- (const fraction &f)const

fraction fraction::operator* (const fraction &f)const

fraction fraction::operator/ (const fraction &f)const

fraction fraction::operator++()

fraction fraction::operator++(int)

int main()

// 複數運算子過載

#includeusing namespace std;

class complex

friend complex operator+ (const complex &a,const complex &b);

friend complex operator- (const complex &a,const complex &b);

friend complex operator* (const complex &a,const complex &b);

friend complex operator/ (const complex &a,const complex &b);

friend istream &operator>> (istream &is,complex &a);

friend ostream &operator<< (ostream &os,const complex &a);

private:

double m_real,m_imag; // 實部 虛部

}; //過載加法

complex operator+ (const complex &a,const complex &b)

//過載減法

complex operator- (const complex &a,const complex &b)

//過載乘法

complex operator* (const complex &a,const complex &b)

//過載除法

complex operator/ (const complex &a,const complex &b)

//過載輸入運算子

istream &operator>> (istream &is, complex &a)

//過載輸出運算子

ostream &operator<< (ostream &os, const complex &a) ;

a::a()

a::a(int n)//建構函式

a a::operator +(const a& obj)//過載+號用於 物件相加

a a::operator+(const int b)//過載+號用於 物件與數相加

a operator+(const int b, a obj)

void a::display()

// 修改內容所以不用 const

int main()

物件導向 方法過載

過載就是在乙個類中,有相同的函式名稱,但形參不一樣的函式。過載規則 1.方法名稱必須相同。2.引數列表必須相同 個數不同 型別不同 引數排列順序不同 3.方法的返回型別可以相同也可以不相同。4.僅僅返回型別不同不足以成為方法的過載。理論 方法名稱相同,編譯器會去呼叫方法引數去匹配,找到對應方法去呼叫...

C 物件導向程式設計 過載

過載 一名多用 運算子的過載 實質是函式的過載,過載函式一般格式如下 函式型別 operator 運算子名稱 形參表 運算子過載規則 c 不允許使用者定義自己定義的新的運算子,只能對已有的運算子進行過載。不能過載的運算子 成員訪問運算子 成員指標訪問運算子 域運算子 sizeof 長度運算子 條件運...

C 物件導向函式過載

設計乙個日期類date,該類包含資料成員 year 年 month 月 day 日 定義建構函式。要求 1 過載日期加上天數的加法運算子 例如 給乙個日期加上10天 2 過載日期的自增運算子 需要滿30進一天 includeusing namespace std class date date in...