轉換函式和explicit
轉換函式(類—>基本型別)
過載資料型別,如這下面的 double()
class fraction
operator double() const
private:
int m_num;
int m_den;
};int main()
//編譯器遇到4+f時會優先判斷是否過載了+號,發現沒有,又看f能否型別轉換為double或者int,找到了轉換為double的函式後實現轉換函式
no-explicit(基本型別—>類)
需要乙個one-argument-ctor
class fraction
fraction operator +(const fraction& f)
private:
int m_num;
int m_den;
};int main()
//編譯器看到f+4後發現是物件加物件,並且過載了+號,於是隱式的將4呼叫建構函式建立了物件來完成
//explicit關鍵字可取消這種隱式轉換
//與轉換函式不能同時滿足(加了explicit就可以)
例:
#includeusing namespace std;
class fraction
//explicit fraction(int num,int dem=1) :numerator(num), denominator(dem){} 解決
operator double() const //轉換函式
fraction& operator+(const fraction& f)
private:
int numerator;
int denominator;
};int main()
函式的概念及功能
函式名 是呼叫這個函式的乙個依據 引數 是函式實現功能時要用到的必要資料 返回值 函式運算結果 功能 函式的功能是什麼,下面會給出具體的闡述 函式是乙個自我包含的完成一定相關功能的執行 段。說白了就是將要實現的功能進行模組化,它是實現某種功能的演算法集合,有助於程式的可重用性 string 型轉化成...
反函式的概念及函式性質
基本定義 一般地,設函式y f x x a 的值域是c,若找得到乙個函式g y 在每一處g y 都等於x,這樣的函式x g y y c 叫做函式y f x x a 的 反函式,記作y f 1 x 反函式y f 1 x 的定義域 值域分別是函式y f x 的值域 定義域。最具有代表性的反函式就是對數函...
liunx訊號概念及c訊號函式的使用
liunx訊號機制是程序之間相互傳遞訊息的一種方法,訊號全稱為軟中斷訊號,也有人稱作軟中斷。從它的命名可以看出,它的實質和使用很象中斷。所以,訊號可以說是程序控制的一部分。linux 下的訊號可以模擬於dos下的int或者是windows下的事件.在有乙個訊號發生時候相信的訊號就會傳送給相應的程序....