為什麼要有這玩意
傳說中,是為了實現型別的自動轉換
定義
-
只有一個引數,型別任意
-
意思是,把一個任意型別的變數,自動轉換成我這個型別
#include <iostream>
#include <stdio.h>
using namespace std;
class Complex {
public:
int real;
int imaginary;
Complex(int real) {
this->real = real;
this->imaginary = 0;
cout << "Complex(int real)" << endl;
}
~Complex() {
cout << "~Complex() - " << real << endl;
}
};
int main() {
Complex c = 12; // 相當於下面那句
// Complex c = Complex(12); // c變數是以Complex(12)的方式初始化
c = 10; // 相當於下面那句
// 建立一個臨時物件,讓後將臨時物件的值拷貝給c,拷貝完成後臨時物件銷燬
// c = Complex(10);
return 0;
}