注册 登录
编程论坛 C++教室

c++类与对象,编写一个类

C语言不挂 发布于 2018-04-01 15:18, 1479 次点击
编写一个类,能够实现对数组长度进行改变。包括数组的初始长度定义、数组长度增加、数组长度压缩。相应的测试主函数如:
void main(){
    A a;
    a.init(20);//数组初始长度为20,所有数据初始为0
    a.write(10,2);//将数据为0的元素按照首元素为10,增量为2的方式填写
    a.extent(10);//数组长度增加10,变成30.原有数据保留,新增元素初始为0
    a.write(20);//将数据为0的元素统一按照20的数据填写
    a.extent(-5);//将数组长度减少5,由30变成25.原有前25个数据不变
    a.destroy();//销毁整个数组
}
1 回复
#2
yangfrancis2018-04-01 21:02
//活太多了,就写一个函数吧。未测试
class A
{
private:
    int*arr;
    int size;//长度
public:
    A(int length=10){arr=new int[length];size=length;}
    ~A(){delete arr;}
    extent(int difference);
}
A::extent(int difference)
{
    int*tmp=arr;
    int size_new=size+difference;
    arr=new int[size_new];
    int min=size_new<size?size_new:size;
    for(int i=0;i<min;i++)
    {
        arr[i]=tmp[i];
    }
    delete tmp;
}
1