C 中操作符,顯示和隱式轉換

2021-06-26 20:30:55 字數 630 閱讀 7137

// 定義乙個人民幣結構。資料型別轉換的語法對於結構和類是一樣的

public struct rmb

if (jiao > 9)

this.yuan = yuan;

this.jiao = jiao;

this.fen = fen;

}public override string tostring()

元角分", yuan, jiao, fen);

}// 一些操作

//r1 = new rmb(1, 6, 13);

// 其實當時其他人都已經交過了,他們總共交了:

// r2 = new rmb(46, 9, 3);

// 那麼加上我的就是:

// r3 = r1 + r2;

public static rmb operator +(rmb rmb1, rmb rmb2)

// 隱式轉換

//float f = r3;

public static implicit operator float(rmb rmb)

// 顯式轉換

//(rmb)f

public static explicit operator rmb(float f)

}

C 隱式型別轉換操作符

前幾天看mfc時碰到了乙個讓我困惑不已的問題 cdc rectangle的某乙個原型如下 bool rectangle lpcrect lprect 其中lpcrect是const rect 但是諸如如下所示的呼叫也能通過編譯 mydc.rectangle crect p1,p2 其中crect是r...

隱式型別轉換 與 隱式型別轉換操作符

1 考慮下面的情況 有個person類,內部有個age欄位。正常情況下,定義和賦值為 person p person 8 p person 9 但是有個傢伙很懶,他想這麼寫 person p 8 p 9 這樣寫也是可以的,因為編譯器知道你的意圖,執行的時候會進行一次隱式型別轉換,中間適配乙個臨時物件...

c 隱式轉換顯示轉換

1 隱式轉換 一般是低型別向高型別轉化,能夠保證值不發生變化。隱式數值轉換 從 sbyte 到 short int long float double 或 decimal。從 byte 到 short ushort int uint long ulong float double 或 decimal...