vecto.cpp

来自「This a Vector Class overloading operator」· C++ 代码 · 共 88 行

CPP
88
字号
// Vecto.cpp: implementation of the Vecto class.
//
//////////////////////////////////////////////////////////////////////

#include "Vecto.h"
#include <iostream.h>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Vecto::Vecto()
{

}

Vecto::~Vecto()
{
	delete [] data;
}

Vecto::Vecto(int a):n(a)
{
	data = new float [n];	
}
Vecto::Vecto(const Vecto &x){
	n = x.n;
	data = new float [n];
	for (int i=0; i<n;i++) data[i] = x[i];

}
Vecto Vecto::operator +(const Vecto &a)
{
	if (n != a.n) return NULL;
	Vecto x(n);
	for (int i = 0; i<n; i++) x[i]=  this->data[i]+ a[i];
	return x;
}

Vecto Vecto::operator -(const Vecto &a)
{
	if (n != a.n) return NULL;
	Vecto x(n);
	for (int i = 0; i<n; i++) x[i]= this->data[i]- a[i];
	return x;
}

float Vecto::operator *(const Vecto &a)
{
	if (n != a.n) return NULL;
	float t=0;
	for (int i = 0; i<n; i++) t= t+this->data[i]*a.operator [](i);
	return t;
}

float& Vecto::operator [](int i)
{
	return data[i];
}

Vecto& Vecto::operator =(const Vecto &a)
{
	if (data != NULL) delete [] data;
	n = a.n;
	data = new float [n];
	for (int i=0; i<n;i++) data[i] = a[i];
	return (*this);
}
istream &operator >> (istream &in, Vecto &x){
	cout <<" Nhap toa do cua Vecto: "<<endl;
	for (int i= 0; i<x.n; i++) {
		cout<<" Toa do thu "<<i<<": "; in>>x[i];
	}
	return in;
}
ostream &operator << (ostream &out, const Vecto &x){
	out<<"(";
	for (int i = 0; i<x.n; i++) {
		out<<x[i];
		if (i!=(x.n-1)) out<<",";
	}
	return out;
}

float& Vecto::operator [](int i) const
{
	return this->data[i];
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?