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

设计一个可变大小的数组类的问题,请大家帮忙

anyu723 发布于 2008-06-14 18:13, 654 次点击
我想问下这个怎么做

设计一个可变大小的数组类程序:
class array
{
      private:
              int size;    //数组大小
              int *element; //数组元素               
      public:
             array(int size = 100);
             int& elem (int); //返回第i+1个元素的引用
             ~array();           
};

使用这个类的程序是:
array a(10);
a.elem(2) = 5;
cout<<a.elem(2)<<endl;
考虑为该类定义合适的初始化和赋值语义
2 回复
#2
sunkaidong2008-06-14 19:17
有个数组模板你去看看啊
#3
anyu7232008-06-14 21:18
我编了一下,觉得还是有点问题

#include <iostream>
#include <string>

using namespace std;

class array
{
      private:
              int size;    //数组大小
              int *element; //数组元素                           
      public:            
             //array();
             array(int);
             int& elem (int); //返回第i+1个元素的引用
             ~array();
             void print();
             int Getint()
             {
                  return size;
             }
};

array::~array()
{
     delete element;
}

array::array(int sz = 100)
{
     size = sz;
     element = new int [size];
}

int& array::elem(int i)
{         
    return element[i];     
}

void array::print()
{
     cout<<size<<endl;
}

int main(int argc,char* argv[])
{   
    int i;
    array a(10);      
    for (i = 0;i<10;i++)
    {
         cin>>a.elem(i);
    }
    for (i = 0;i<10;i++)   
    {
         cout<<"The element "<<i+1<<" is "<<a.elem(i)<<endl;   
    }
    a.elem(2) = 23;
    cout<<"The element is "<<a.elem(2)<<endl;   
    system("pause");
    return 0;
}
1