程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 調用構造函數進行類型轉換

調用構造函數進行類型轉換

編輯:C++入門知識

調用構造函數進行類型轉換


我們可以把數字當最對象賦給另一個對象,這樣在對該賦值表達式進行計算時,首先對數字進行類型轉換,同時判斷該類的構造函數的參數是否與數字類型匹配,假如匹配則調用構造函數創建一個臨時對象,跟著將該臨時對象賦給賦值操作符左邊的對象,最後調用析構函數進行刪除臨時對象。


示例代碼如下:

#include 
using namespace std;
class A
{
	public:
		A(int x){i=x;cout<<"構造函數執行! "<>>>>>>>>>>>>>>>>>>>>>>\n"<>>>>>>>>>>>>>>>>>>>>>>\n"<
運行結果:



本示例有兩次類型轉換。第一次是“a=100”,該語句調用構造函數將100轉換為A類的臨時對象,然後將這個對象賦給對象a,跟著調用析構函數釋放臨時對象占用的內存。

第二次是“a=A(2)”,等號右邊的A(2)是一個強制類型表達式,這個表達式會調用A類構造函數,將括號內的2轉換成A類的臨時對象,然後再賦給左邊的對象a,跟著調用析構函數釋放臨時對象占用的內存。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved