用c++写一个类

怎么实现这个,刚开始学
2025-04-09 11:34:06
推荐回答(2个)
回答1:

#include 
using namespace std;
class CArray{
private:
    int *vec;
    int num;
public:
    //创建n个int类型数组空间 并初始化为0;
    CArray(int n){
        num=n;
        vec=new int[n];
        for(int i=0;i       vec[i]=0;
    }
    }
    ~CArray(){delete []vec;}
    int length(){return num;}
    int get(int i){return vec[i];}
    void set(int i,int value){vec[i]=value;}
    int getMax(){
        int max=vec[0];
    for(int i=0;i        if(max    }
    return max;
    }
    int getMin(){
    int min=vec[0];
    for(int i=0;i        if(min>vec[i]) min=vec[i];
    }
    return min;

    }
    void print(){
      for(int i=0;i       cout<    }

    }



};

int main()
{
    CArray a(10);
    a.print();
    return 0;
}

回答2:

代码如下:

#include 
#include 

using namespace std;

class CArray {

private:
int *vec;

int num;

public:
CArray(int n);
~CArray();

int length();

int get(int i);

void set(int i, int value);

int getMax();

int getMin();

void print();
};

CArray::CArray(int n) {
this->vec = new int[n];
this->num = n;
}

CArray::~CArray() {
delete[] this->vec;
}

int CArray::length() {
return this->num;
}

int CArray::get(int i) {
return this->vec[i];
}

void CArray::set(int i, int value) {
this->vec[i] = value;
}

int CArray::getMax() {

int max = this->vec[0];

for (int i = 1; i < this->num; i++) {
if (this->vec[i] > max) {
max = this->vec[i];
}
}

return max;
}

int CArray::getMin() {

int min = this->vec[0];

for (int i = 1; i < this->num; i++) {
if (this->vec[i] < min) {
min = this->vec[i];
}
}

return min;
}

void CArray::print() {

for (int i = 0; i < this->num; i++) {
cout << this->vec[i] << " ";
}

cout << endl;
}


int main()
{
CArray array(5);

array.set(0, 25);
array.set(1, 30);
array.set(2, 52);
array.set(3, 10);
array.set(4, 86);

for (int i = 0; i < array.length(); i++) {
cout << array.get(i) << " ";
}

cout << endl;

cout << "最大数:" << array.getMax() << endl;
cout << "最小数:" << array.getMin() << endl;

array.print();

system("pause");

return 0;
}