Complex_Vector_H

#ifndef Complex_Vector_H
#define Complex_Vector_H
#include "Complex_Number.h"
#include 
#include 

class ComplexVector:public ComplexNumber
{
private:
	ComplexNumber* p;
	int length;
	int size;
public:
	ComplexVector();
	ComplexVector(int setlength);
	~ComplexVector();
	ComplexNumber& operator[](int index){return p[index];}
	
	int capacity_c(){return length - size;}
	int size_c(){return size;}
	bool isempty();
	void push_back(ComplexNumber C);
	void pop_back();
	void operator+=(ComplexNumber C);
	friend ostream &operator<<(ostream& output,const ComplexVector& V)
	{
		for(int i = 0;i < V.size;i++)output << V.p[i];
	}
};

ComplexVector::ComplexVector()
{
	p = NULL;
	length = 0;
	size = 0;
}

ComplexVector::ComplexVector(int setlength)
{
	p = new ComplexNumber[setlength];
	length = setlength;
	size = 0;
}

ComplexVector::~ComplexVector()
{
	delete[] p;
}

bool ComplexVector::isempty()
{
	if(size == 0)return true;
	else return false;
}

void ComplexVector::push_back(ComplexNumber C)
{
	if(capacity_c() == 0)
	{
		ComplexNumber* ptemp = new ComplexNumber[2*size + 1];
		length = 2*size + 1;
		for(int i=0;i

 

你可能感兴趣的:(Complex,Number)