C++類 隱式轉換

#include <iostream>

using namespace std;

struct Rational1
{
	Rational1(int n = 0, int i = 1) : num(n), den(i)
	{
		cout << "Rational1 " << num << "/" << den << endl;
	}

	Rational1(const Rational1 &r) : num(r.num), den(r.den)
	{
		cout << "copy construct" << endl;
	}

	int num;
	int den;
};

void ShowRational1(Rational1 ra1)
{
	cout << "nnumber:" << ra1.num << "\t" << ra1.den << endl;
}

int main()
{
	Rational1 ra = 1;//這裏是這樣 Rational1 ra = Rational1(1);
	ShowRational1(ra);//這裏有用到拷貝構造
	ShowRational1(33);

	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章