سلام!

پاسخ تمرین سری قبل را می توانید در ادامه ی مطلب مشاهده کنید. مشکلات خود را در قسمت نظرات مطرح کنید.

#include <iostream>

using namespace std;

class Ar {
    
    private:
        int *_ar;
        int _size;

        void setSize( int );
    
    public:
        
        Ar( int = 1, int = 0 );
        ~Ar();
        Ar( const Ar& );

        int &operator[]( int ) const;
        void operator=( const Ar& );

        int &element( int ) const;
        void setElement( int, int );

        int size () const;

};

Ar::Ar( int size, int defaultValue ) {
    this->setSize( size );
    this->_ar = new int[ this->size() ];
    for ( int i = 0; i < this->size(); i++ )
        this->setElement( i, defaultValue );
}

Ar::~Ar () {
    delete [] this->_ar;;
}

Ar::Ar( const Ar& src ) {
    this->_ar = new int[ src.size() ];
    for ( int i = 0; i < src.size(); i++ )
        (*this)[i] = src[i];
}

int &Ar::operator[]( int pos ) const {
    return this->_ar[ pos ];
}

void Ar::setElement( int pos, int value ) {
    (this->_ar)[ pos ] = value;
}

void Ar::setSize( int size ) {
    this->_size = size;
}

int Ar::size () const{
    return this->_size;
}

int main () {
    return 0;
}

موفق باشید!