C 基礎知識 轉換函式

2021-08-22 19:40:26 字數 523 閱讀 6977

1. 舉例: 分數物件視為doubule型別

class fraction

operator double() const

private:

int m_num;

int m_den;

}

2. 轉換函式的特點

2.1 沒有函式返回型別

2.2 沒有引數

2.3 必須是成員函式

3. 注意事項

3.1 如果定義了全域性過載函式

double operator+(int a, fraction f)

那麼對於

fraction f(5, 8)

double d = 10 + f

會產生歧義嗎?如果不會,使用哪個(過載函式 or 轉換函式)

gcc 5.4.0 環境下實驗,結果是使用 過載函式

4. 引用和參考

4.1 侯捷老師在 網易雲課堂的c++課程

C 基礎知識 函式

寫在前面 在剛上大學的時候,學習各種各樣的計算機基礎知識,對我而言,剛開的時候我是不理解的,知識太抽象,只是機械的記住了概念和用法,往往忽略了一些細節。當自己實踐增多的時候,各種知識漸漸的清晰起來,所有東西都是有來龍去脈的,原來不理解的東西都豁然開朗起來。這個時候再取回顧原來學習的知識技能,又有一種...

C 基礎知識(函式過載)

1 函式過載overload 概述 c 中允許出現同名函式,這種現象就叫函式過載。函式過載的目的是為了方便使用函式名。2 函式過載 2.1基本語法 實現函式過載的條件 1 同乙個作用域 2 引數個數不同 3 引數型別不同 4 引數順序不同。注 返回值不作為過載的依據。函式過載和預設引數設定一起使用時...

函式基礎知識

1.函式呼叫 注意函式名稱,引數個數,引數資料型別 2.函式定義 def 函式名 引數 函式體return 返回值 函式中也可以直接使用pass,意為什麼也不做,目的是讓程式能夠執行不報錯 python有一點值得注意,返回值可以為多個,例如 d def get weight and height d...