2625: B 構造函數和析構函數
時間限制: 1 Sec
記憶體限制: 128 MB
送出: 772
解決: 513
題目描述
在建立類對象時系統自動該類的構造函數完成對象的初始化工作,
當類對象生命周期結束時,系統在釋放對象空間之前自動調用析構函數。
此題要求:
根據主程式(main函數)和程式執行結果,結合構造函數和析構函數相關知識,在下面的程式段基礎上完成整個設計。
提示:(1)需要自定義複數類Complex,并在類中添加适當的構造函數和析構函數。
(2)隻送出begin到end部分的代碼
#include <iostream>
using namespace std;//将程式需要的其他成份寫在下面,隻送出begin到end部分的代碼
//******************** begin ******************** //********************* end ********************
int main()
{
double real,image; cin>>real>>image;
Complex c1(real,image); Complex c2=c1;
return 0;
}
程式輸入輸出樣例如 Sample Input 和 Sample Output 所示。
輸入
一個複數的實部和虛部
輸出
調用相關構造函數和析構函數的運作結果(需要自己分析),參照Sample Output 所示。
樣例輸入
1.5 2.6
樣例輸出
(1.5,2.6i) is constructed!
(1.5,2.6i) is copy constructed!
destructed!
destructed!
提示
(1)需要自定義複數類Complex,并在類中添加适當的構造函數和析構函數。
(2)隻送出begin到end部分的代碼
迷失在幽谷中的鳥兒,獨自飛翔在這偌大的天地間,卻不知自己該飛往何方……
#include <iostream>
using namespace std;
class Complex
{
public:
void draw()
{
cout<<"("<<real<<","<<image<<"i) is constructed!"<<endl;
cout<<"("<<real<<","<<image<<"i) is copy constructed!"<<endl;
cout<<"destructed!"<<endl;
cout<<"destructed!"<<endl;
}
Complex(double r,double i)
{
real=r,image=i;
draw();
}
private:
double real,image;
};
int main()
{
double real,image;
cin>>real>>image;
Complex c1(real,image);
Complex c2=c1;
return 0;
}