過載運算子、解構函式

爱新觉罗LQ發表於2024-10-20

過載運算子、解構函式

1. 過載運算子

2個物件進行 == 比較,過載 == 運算子
說白了,就是,寫一個成員函式,這個成員函式名 "operator==",這個成員函式體裡邊寫一些比較邏輯

//  定義
Time& operator=(const Time& tmpobj)

//  實現
Time& Time::operator=(const Time& tmpobj)
{
  cout << "呼叫了過載運算子" << endl;
  return *this;
}

2. 解構函式(釋放函式)

物件在銷燬的時候,會自動呼叫解構函式 ===> 不寫,編譯器也會生成一個預設的解構函式

  1. 建構函式里 new,delete
  2. 解構函式也是類的成員函式,它的名字是由 ~接類名構成,沒有返回值,不接受任何引數,不能被過載,只有唯一一個解構函式

    有 new 的話,必須要有 delete ===> 因為系統不會給你釋放,造成記憶體洩漏

3. 建構函式的成員初始化

Time::Time(int tmphour, int tmpmin): Hour(tmphour), Minute(10)

相關文章