rasul1719435
rasul1719435

Reputation: 115

Loop through an array

I would like to know, how to loop through a array of int to get its value and set its value. I know how to use the for loop to to get instantly, but I am not sure how it works, when I am using in user created objects and esp using the get set method.

I am totally new to this and have very little guidance from my lectures. I hope you guys can assist to help me. This up to where I have done.

//point.h

class point {
private:
    int x[4];

public:
    int getx();
    void setx();
};  

//point.cpp

class point {
   point::getx(){
      // ??????
   }

   point::setx(){
      // ???????
   }

//main.cpp

 int main(){
     point objPoint;
     objPoint.setx(/* ???? */);
     ???? = objPoint.getx();
 }

Upvotes: 1

Views: 732

Answers (2)

Anton Guryanov
Anton Guryanov

Reputation: 12467

First of all, your getx method should return int*, not just int, and your setx should receive const int* as parameter. Second, in your point.cpp file you shouldn't redeclare class point.

int* point::getx() { //version with copying
    int* ans = new int[4];
    for (int i = 0; i < 4; i++) {
        ans[i] = x[i];
    }
    return ans;
}

void point::setx(const int* y) {
    for (int i = 0; i < 4; i++) {
        x[i] = y[i];
    }
}

Then you can use them like this

int y[4] = {1, 2, 3, 4};
int* z;
objPoint.setx(y);
z = objPoint.getx();

Just don't forget to delete[] z when you're done.

Upvotes: 2

paulsm4
paulsm4

Reputation: 121881

If I'm understanding you correctly, you probably want something like more this:

point.h:

class Point{
private:
  int x, y;
public:
  int getx();
  int gety();
  void setx(int value);
  void sety(int value);
};  

point.cpp

int Point::getx() { return x; }
int Point::gety() { return y; }
void Point::setx(int value) { x = value; }
void Point::sety(int value) { x = value; }

main.cpp

int main(int argc, char *argv[])
{
  Point objPoint;
  objPoint.setx(1);
  int x = objPoint.getx();
  cout << "x=" << x << endl;
  return 0
}

Even better, you might wish to define a constructor like Point (int xvalue, int yvalue).

IMHO ...

Upvotes: 2

Related Questions