Use & to get object address : object pointer « Class « C++ Tutorial






#include <iostream>
 
 class MyClass
 {
 public:
     MyClass();
     MyClass(MyClass&);
     ~MyClass();
 
     int GetAge() const { return itsAge; }
     void SetAge(int age) { itsAge = age; }
 
 private:
     int itsAge;
 };
 
 MyClass::MyClass()
 {
     std::cout << "Constructor...\n";
     itsAge = 1;
 }
 
 MyClass::MyClass(MyClass&)
 {
     std::cout << "Copy Constructor...\n";
 }
 
 MyClass::~MyClass()
 {
     std::cout << "Destructor...\n";
 }
 
 const MyClass * const 
 FunctionTwo (const MyClass * const obj);
 
 int main()
 {
     MyClass myObject;
     std::cout << "myObject is ";
     std::cout << myObject.GetAge() << " years old\n";
     int age = 5;
     myObject.SetAge(age);
     std::cout << "myObject is ";
     std::cout << myObject.GetAge() << " years old\n";
     std::cout << "Calling FunctionTwo...\n";
     FunctionTwo(&myObject);
     std::cout << "myObject is ";
     std::cout << myObject.GetAge() << " years old\n";
     return 0;
 }
 
 const MyClass * const FunctionTwo (const MyClass * const obj)
 {
     std::cout << "Function Two. Returning...\n";
     std::cout << "myObject is now " << obj->GetAge();
     std::cout << " years old \n";
     return obj;
 }
Constructor...
myObject is 1 years old
myObject is 5 years old
Calling FunctionTwo...
Function Two. Returning...
myObject is now 5 years old
myObject is 5 years old
Destructor...








9.34.object pointer
9.34.1.Use class pointer and class array together
9.34.2.Use & to get object address
9.34.3.Incrementing and decrementing an object pointer
9.34.4.Pointers as data members
9.34.5.Pointers to Class Members
9.34.6.To use a pointer to the object, you need to use the ->* operator
9.34.7.Use new to allocate memory for a class pointer
9.34.8.Passing References to Objects
9.34.9.normal functions accessed from pointer
9.34.10.Sort person objects using array of pointers