C 語言基礎 22 轉換建構函式和型別轉換函式

2022-06-11 17:30:11 字數 1524 閱讀 9319

將其它型別轉換為當前類型別需要借助轉換建構函式(conversion constructor)。轉換建構函式也是一種建構函式,它遵循建構函式的一般規則。轉換建構函式只有乙個引數。

#include using

namespace

std;

//複數類

class

complex

complex(

double real, double

imag): m_real(real), m_imag(imag)

complex(

double real): m_real(real), m_imag(0.0) //

轉換建構函式

public

: friend ostream & operator

<<(ostream &out, complex &c); //

友元函式

private

:

double m_real; //

實部double m_imag; //

虛部};

//過載》運算子

ostream & operator

<<(ostream &out, complex &c)

intmain()

執行結果:

10 + 20i

25.5 + 0i

#include using

namespace

std;

//複數類

class

complex

complex(

double real, double

imag): m_real(real), m_imag(imag)

public

: friend ostream & operator

<<(ostream &out, complex &c);

friend complex

operator+(const complex &c1, const complex &c2);

operator

double() const //

型別轉換函式

private

:

double m_real; //

實部double m_imag; //

虛部};

//過載》運算子

ostream & operator

<<(ostream &out, complex &c)

//過載+運算子

complex operator+(const complex &c1, const complex &c2)

intmain()

執行結果:

f = 24.6

f = 43.1

n = 43

注意:最好不要同時使用轉換建構函式和型別轉換函式,因為這樣會導致語義的二義性。

Oralce SQL語言常用函式(四)轉換函式

轉換函式 轉換函式主要是用於操作多種資料型別,它的作用是把資料從一種資料型別轉換 為另一種資料型別,常用的轉換函式主要有以下兩種 1.to char 此函式主要將日期函式轉換為字串,實際上我們主要使用它對日期進行轉換 有兩種轉換日期的模式 to char date 或者to char date,fo...

C 轉換建構函式和轉換函式

1 轉換建構函式的作用 作用 將某種型別轉換為類型別 例如有下面的 base int a 轉換建構函式 base b 物件 b 12 解析 程式將使用建構函式base int a 構造出乙個臨時的無名base物件,並用12對其初始化。然後採用逐個成員賦值的方式將該臨時物件的內容賦值給物件b。這一過程...

C 語言 類中的建構函式和拷貝建構函式

在說這個之前我想問乙個問題,如果成員變數是私有的,我們怎麼初始化這些私有的成員變數?其實這就是建構函式的存在的理由,因為這個成員變數為私有的,要對它們進行初始化,必須用乙個 公有成員函式來進行。同時這個函式應該有且僅在定義物件時自動執行一次,這時呼叫的函式稱為構 造函式 constructor 下面...