#include<iostream>
#include"vectorContainer.h"
using namespace std;
//默认构造函数
vectorContainer::vectorContainer()
{
_v=NULL;
_size=0;
}
//析构函数,释放内存空间
vectorContainer::~vectorContainer()
{
if(_size!=0)
{
delete[] _v;
_v=NULL;
_size=0;
}
}
Vector& vectorContainer::operator [](int idx)
{
int i;
for(i=0;i<4;i++)
cout<<_v[idx].v[i]<<" ";
cout<<endl;
return _v[idx];
}
Vector* vectorContainer::operator ->()
{
int i,j,idx;
float sum,max;
max=0;
//初始化max为第一个向量的和
for(i=0;i<4;i++)
max+=_v[0].v[i];
idx=0; //idx记录和最大的向量下标,初始化为0
//查找最大值
for(i=1;i<_size;i++)
{
sum=0;
for(j=0;j<4;j++)
sum+=_v[i].v[j];
if(sum>max)
{
sum=max;
idx=i;
}
}
return _v+idx;
}
void vectorContainer::operator ()()
{
float* sum;
float temp;
int i,j;
Vector hold;
sum=new float[_size];
//计算每个向量的和
for(i=0;i<_size;i++)
{
sum[i]=0;
for(j=0;j<4;j++)
sum[i]+=_v[i].v[j];
}
//冒泡排序
for(j=1;j<_size;j++)
{
for(i=0;i<_size-1;i++)
{
if(sum[i]>sum[i+1])
{
hold=_v[i];
_v[i]=_v[i+1];
_v[i+1]=hold;
temp=sum[i];
sum[i]=sum[i+1];
sum[i+1]=temp;
}
}
}
//顺序输出
for(i=0;i<_size;i++)
{
for(j=0;j<4;j++)
cout<<_v[i].v[j]<<" ";
cout<<"sum: "<<sum[i]<<endl;
}
}
Vector& vectorContainer::operator ()(int idx)
{
float* sum;
float temp;
int i,j;
Vector hold;
sum=new float[_size];
//计算每个向量的和
for(i=0;i<_size;i++)
{
sum[i]=0;
for(j=0;j<4;j++)
sum[i]+=_v[i].v[j];
}
//冒泡排序
for(j=1;j<_size;j++)
{
for(i=0;i<_size-1;i++)
{
if(sum[i]>sum[i+1])
{
hold=_v[i];
_v[i]=_v[i+1];
_v[i+1]=hold;
temp=sum[i];
sum[i]=sum[i+1];
sum[i+1]=temp;
}
}
}
//输出第idx个向量
for(j=0;j<4;j++)
cout<<_v[idx].v[j]<<" ";
cout<<"sum: "<<sum[idx]<<endl;
return _v[idx];
}
float& vectorContainer::operator ()(int i,int j)
{
cout<<_v[i].v[j]<<endl;
return _v[i].v[j];
}
没有合适的资源?快使用搜索试试~ 我知道了~
完成类Vector的定义,重载[] , -> , ()三个运算符
共4个文件
h:2个
cpp:2个
2星 需积分: 35 33 下载量 111 浏览量
2011-04-16
16:43:35
上传
评论 1
收藏 2KB RAR 举报
温馨提示
VC[i]; //打印VC中第i个项链的所有元素 VC->output(); //打印VC中某个项链所有元素及其元素和,该向量的元素和在所有向量元素和中是最大的 VC(); //把VC中的向量按照其元素和从小到大 排序,然后顺序输出向量及其元素和 VC(i); //把VC中的向量按照其元素和从小到大 排序,然后输出第i个向量及其元素和 VC(i,j); //输出第i个向量第j个元素
资源推荐
资源详情
资源评论
收起资源包目录
友元.rar (4个子文件)
友元
vectorContainer.cpp 2KB
vectorContainer.h 432B
Vector.h 373B
client.cpp 326B
共 4 条
- 1
资源评论
- 停落2015-05-11资源还行,谢谢分享
- HGTGD2014-11-06下不了,这网站太坑了
- ExCopy2015-12-03此类非std::vector啊, 失望
dengjianqiang2011
- 粉丝: 59
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功