C++实验---复数类的构造、析构和输出

复数类的构造、析构和输出

Description

封装一个复数类CPLX,用来处理复数功能和运算,支持以下操作:

CPLX::CPLX(double, double)构造:参数为实部、虚部,用传入的参数初始化对象,产生一行以“CREATE()”开始的输出,并输出复数的实部和虚部;
CPLX::~CPLX()析构:产生一行以“RELEASE()”开始的输出,并输出复数的实部和虚部;
CPLX::print():产生一行以“PRINT()”开始的输出,并以格式“(a, bi)”的形式输出复数;
你设计一个CPLX类,使得main()函数能够运行并得到正确的输出。调用格式见append.cc

Input

输入的第一个整数n,表示用n组测试样例。每组测试输入两个实数,分别为实部和虚部。

Output

每组测试数据对应一组输出,两组输出之间用若干“===”分割,详细格式见sample。

Sample Input

5
2 3
10 0
0 100
1 -1
-7 -7

Sample Ouput

=========================
CREATE(): 2 3
PRINT(): (2, 3i)
RELEASE(): 2 3
=========================
CREATE(): 10 0
PRINT(): (10, 0i)
RELEASE(): 10 0
=========================
CREATE(): 0 100
PRINT(): (0, 100i)
RELEASE(): 0 100
=========================
CREATE(): 1 -1
PRINT(): (1, -1i)
RELEASE(): 1 -1
=========================
CREATE(): -7 -7
PRINT(): (-7, -7i)
RELEASE(): -7 -7
=========================

题目给定主函数

int main()
{
    
    
    int cases;
    cin >> cases;
    for(int i = 1; i <= cases; ++i)
    {
    
    
        double a, b;
        cin >> a >> b;
        cout << "=========================" << endl;
 
        CPLX cplx(a, b);
        cplx.print();
    }
    cout << "=========================" << endl;
}

code:

#include<iostream>
#include<iomanip>
using namespace std;

class CPLX{
    
    
	double a;
	double b;
public:
	CPLX(double aa,double bb){
    
    
		a=aa;
		b=bb;
		cout<<"CREATE(): "<<a<<" "<<b<<endl;
	}
	
	~CPLX(){
    
    
		cout<<"RELEASE(): "<<a<<" "<<b<<endl;
	}
	
	void print(){
    
    
		cout<<"PRINT(): ("<<a<<", "<<b<<"i)"<<endl;
	}
};


int main()
{
    
    
    int cases;
    cin >> cases;
    for(int i = 1; i <= cases; ++i)
    {
    
    
        double a, b;
        cin >> a >> b;
        cout << "=========================" << endl;
 
        CPLX cplx(a, b);
        cplx.print();
    }
    cout << "=========================" << endl;
}

猜你喜欢

转载自blog.csdn.net/timelessx_x/article/details/115412519
今日推荐