將其它型別轉換為當前類型別需要借助轉換建構函式(conversion constructor)。轉換建構函式也是一種建構函式,它遵循建構函式的一般規則。轉換建構函式只有乙個引數。
#include usingnamespace
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 usingnamespace
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 下面...