News:

Choose a design and let our professionals help you build a successful website   - ITAcumens

Main Menu

Incrementing and decrementing an object pointer

Started by dhilipkumar, Dec 19, 2008, 09:33 PM

Previous topic - Next topic

dhilipkumar

Incrementing and decrementing an object pointer


#include <iostream>
using namespace std;

class myClass {
  int num;
public:
  void set_num(int val) {
     num = val;
  }
  void show_num(){
     cout << num << endl;
  }
};
 
int main()
{
  myClass ob[2], *objectPointer;

  ob[0].set_num(10);              // access objects directly
  ob[1].set_num(20);

  objectPointer = &ob[0];         // obtain pointer to first element
  objectPointer->show_num();      // show value of ob[0] using pointer

  objectPointer++;                // advance to next object
  objectPointer->show_num();      // show value of ob[1] using pointer

  objectPointer--;                // retreat to previous object
  objectPointer->show_num();      // again show value of ob[0]

  return 0;
}

A base pointer to access derived objects


#include <iostream>
using namespace std;
class BaseClass {
  int i;
public:
  void setInt(int num) {
    i = num;
  }
  int getInt() {
    return i;
  }
};
class derived: public BaseClass {
  int j;
public:
  void setJ(int num) {
     j = num;
  }
  int getJ() {
     return j;
  }
};
int main()
{
  BaseClass *baseClassPointer;
  derived d;
  baseClassPointer = &d;     // BaseClass pointer points to derived object
                             // access derived object using BaseClass pointer
  baseClassPointer->setInt(10);
  cout << baseClassPointer->getInt() << " ";

  return 0;
}