標籤:c++ 建構函式 拷貝構造
// 實現一個複數類(complex)//要求:1:實現不帶參 / 帶參數 /帶預設參數的幾種建構函式。// 2:實現拷貝構造 / 解構函式。#include <iostream>using namespace std;// 帶參數的建構函式class complex{private:double _real;double _image;public:void print();complex(double _r, double _i);~complex();};complex::complex(double _r, double _i){_real = _r;_image = _i;cout<<"the parameterless constructor"<<endl;}/* 不帶參數的建構函式class complex{private:double _real;double _image;public:void print();complex();~complex();};complex::complex(){_real = 0;_image = 0;cout<<"with no arguments constructor"<<endl;}*//* 帶預設參數的建構函式class complex{private:double _real;double _image;public:void print();complex(double _real = 0,double _image = 0);~complex();};complex::complex(double _r, double _i){_real = _r;_image = _i;cout<<"with the default constructor"<<endl;}*//* 拷貝構造class complex{private:double _real;double _image;public:void print();complex(double _r, double _i){_real = _r;_image = _i;}complex(complex const & comple);~complex();};complex::complex(complex const & comple){_real = comple._real;_image = comple._image;cout<<"copy structure"<<endl;}*/complex::~complex(){cout << "destructor" << endl;}void complex::print(){cout << "複數是:" << _real << "+" <<_image << "i" << endl;}int main(){double a, b;//double a;cout << "請輸入兩個數:";cin >> a >> b;//cin >> a;//complex comp(a);complex comp(a,b);//complex comp(1, 2);//complex comp;//complex comp1(comp);comp.print();//comp1.print();return 0;}
【c++】實現一個複數類