#include<iostream>
using namespace std;
class Vector{
public:
Vector(int size =1);
~Vector();
int & operator[](int i)const;//重载[]
int operator()()const;//重载()
private:
int * v;
int len;
};
Vector::Vector(int size){
if(size<=0||size>100){
cout<<"the sizee of"<<size<<"is null!\n";
exit(0);
}
v = new int[size];
len=size;
}
Vector::~Vector(){
delete[] v;
v=NULL;
len=0;
}
int & Vector::operator[](int i)const{//Vector的引用重载[]
if(i>=0&&i<len) return v[i];
cout<<"the sub script"<<i<<"is outside !\n";
exit(0);
}
int Vector::operator()()const{
return len;//返回对象的长度
}
int main(){
int k,i;
cin>>k;
Vector A(k);
for(i=0;i<k;i++)
A[i]=i+1;
for(i=0;i<k;i++)
cout<<A[i]<<" ";
cout<<endl;
cout<<"the size of Vector a is "<<A()<<endl;
return 0;
}
c++重载
最新推荐文章于 2024-06-21 14:20:12 发布