A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FClass%2Fobject_pointer</id>
		<title>C++/Class/object pointer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FClass%2Fobject_pointer"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Class/object_pointer&amp;action=history"/>
		<updated>2026-04-10T05:18:10Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/Class/object_pointer&amp;diff=1324&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Class/object_pointer&amp;diff=1324&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/Class/object_pointer&amp;diff=1325&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Class/object_pointer&amp;diff=1325&amp;oldid=prev"/>
				<updated>2010-05-25T10:25:32Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Call virtual function through object pointer==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class base &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   virtual void vfunc(void)&lt;br /&gt;
    {&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;This is base&amp;quot;s vfunc().&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
class derived1 : public base &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   void vfunc(void)&lt;br /&gt;
    {&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;This is derived1&amp;quot;s vfunc().&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
class derived2 : public derived1 { };&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   base *p, b;&lt;br /&gt;
   derived1 d1;&lt;br /&gt;
   derived2 d2;&lt;br /&gt;
   p = &amp;amp;b;        &lt;br /&gt;
   p-&amp;gt;vfunc();&lt;br /&gt;
   p = &amp;amp;d1;       &lt;br /&gt;
   p-&amp;gt;vfunc();&lt;br /&gt;
   p = &amp;amp;d2;       &lt;br /&gt;
   p-&amp;gt;vfunc();    &lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change the object pointer behaviour==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class convert &lt;br /&gt;
{&lt;br /&gt;
 protected:&lt;br /&gt;
   double val1;&lt;br /&gt;
   double val2;&lt;br /&gt;
 public:&lt;br /&gt;
   convert(double i)&lt;br /&gt;
    {&lt;br /&gt;
      val1 = i;&lt;br /&gt;
    }&lt;br /&gt;
    double getconv(void) {return val2;}&lt;br /&gt;
    double getinit(void) {return val1;}&lt;br /&gt;
    virtual void compute(void) = 0;&lt;br /&gt;
};&lt;br /&gt;
class l_to_g : public convert {&lt;br /&gt;
 public:&lt;br /&gt;
   l_to_g(double i) : convert(i) { }&lt;br /&gt;
   void compute(void)&lt;br /&gt;
    {&lt;br /&gt;
      val2 = val1 / 3.7854;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
class f_to_c : public convert {&lt;br /&gt;
 public:&lt;br /&gt;
   f_to_c(double i) : convert(i) { }&lt;br /&gt;
   void compute(void)&lt;br /&gt;
    {&lt;br /&gt;
      val2 = (val1 - 32) / 1.8;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   convert *p;                   &lt;br /&gt;
   l_to_g lgob(4);&lt;br /&gt;
   f_to_c fcob(70);&lt;br /&gt;
   p = &amp;amp;lgob;                    &lt;br /&gt;
   cout &amp;lt;&amp;lt; p-&amp;gt;getinit() &amp;lt;&amp;lt; &amp;quot; liters is &amp;quot;;&lt;br /&gt;
   p-&amp;gt;compute();&lt;br /&gt;
   cout &amp;lt;&amp;lt; p-&amp;gt;getconv() &amp;lt;&amp;lt; &amp;quot; gallons.&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   p = &amp;amp;fcob;                    &lt;br /&gt;
   cout &amp;lt;&amp;lt; p-&amp;gt;getinit() &amp;lt;&amp;lt; &amp;quot; in Fahrenheit is &amp;quot;;&lt;br /&gt;
   p-&amp;gt;compute();&lt;br /&gt;
   cout &amp;lt;&amp;lt; p-&amp;gt;getconv() &amp;lt;&amp;lt; &amp;quot; Celsius.&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Declare object pointer==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class Base &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   void base_message(void) { cout &amp;lt;&amp;lt; &amp;quot;This is the base class\n&amp;quot;; };&lt;br /&gt;
};&lt;br /&gt;
class Derived: public Base &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   void derived_message(void) { cout &amp;lt;&amp;lt; &amp;quot;This is the derived class\n&amp;quot; ; };&lt;br /&gt;
};&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   Base *base_pointer = new Base;&lt;br /&gt;
   Derived *derived_pointer = new Derived;&lt;br /&gt;
   base_pointer-&amp;gt;base_message();&lt;br /&gt;
   derived_pointer-&amp;gt;derived_message();&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrating the class member access operators . and -&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using std::cout;&lt;br /&gt;
using std::endl;&lt;br /&gt;
// Simple class Count&lt;br /&gt;
class Count {&lt;br /&gt;
public:&lt;br /&gt;
   int x;&lt;br /&gt;
   void print() { cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; endl; }&lt;br /&gt;
};&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   Count counter,       &lt;br /&gt;
         *counterPtr = &amp;amp;counter, &lt;br /&gt;
         &amp;amp;counterRef = counter;  &lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Assign 7 to x and print using the object&amp;quot;s name: &amp;quot;;&lt;br /&gt;
   counter.x = 7;       &lt;br /&gt;
   counter.print();     &lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Assign 8 to x and print using a reference: &amp;quot;;&lt;br /&gt;
   counterRef.x = 8;    &lt;br /&gt;
   counterRef.print();  &lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Assign 10 to x and print using a pointer: &amp;quot;;&lt;br /&gt;
   counterPtr-&amp;gt;x = 10;  &lt;br /&gt;
   counterPtr-&amp;gt;print(); &lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Need reinterpret_cast to go from pointer to int and from int to pointer==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
class X {};&lt;br /&gt;
class Y {};&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  int i = 3;&lt;br /&gt;
  X x;&lt;br /&gt;
  Y y;&lt;br /&gt;
  X* xp;&lt;br /&gt;
  Y* yp;&lt;br /&gt;
  i = reinterpret_cast&amp;lt;int&amp;gt;(xp);&lt;br /&gt;
  xp = reinterpret_cast&amp;lt;X*&amp;gt;(i);&lt;br /&gt;
  return (0);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Need reinterpret cast to perform pointer conversion from unrelated classes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
class X {};&lt;br /&gt;
class Y {};&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  int i = 3;&lt;br /&gt;
  X x;&lt;br /&gt;
  Y y;&lt;br /&gt;
  X* xp;&lt;br /&gt;
  Y* yp;&lt;br /&gt;
  xp = reinterpret_cast&amp;lt;X*&amp;gt;(yp);&lt;br /&gt;
&lt;br /&gt;
  return (0);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Need reinterpret cast to perform reference conversion from unrelated classes --  static_cast doesn&amp;quot;t work==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
class X {};&lt;br /&gt;
class Y {};&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  int i = 3;&lt;br /&gt;
  X x;&lt;br /&gt;
  Y y;&lt;br /&gt;
  X* xp;&lt;br /&gt;
  Y* yp;&lt;br /&gt;
  X&amp;amp; xr = x;&lt;br /&gt;
  Y&amp;amp; yr = reinterpret_cast&amp;lt;Y&amp;amp;&amp;gt;(x);&lt;br /&gt;
  return (0);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==pointers to base class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class CPolygon {&lt;br /&gt;
  protected:&lt;br /&gt;
    int width, height;&lt;br /&gt;
  public:&lt;br /&gt;
    void set_values (int a, int b)&lt;br /&gt;
    { width=a; height=b; }&lt;br /&gt;
};&lt;br /&gt;
class CRectangle: public CPolygon {&lt;br /&gt;
  public:&lt;br /&gt;
    int area ()&lt;br /&gt;
    { return (width * height); }&lt;br /&gt;
};&lt;br /&gt;
class CTriangle: public CPolygon {&lt;br /&gt;
  public:&lt;br /&gt;
    int area ()&lt;br /&gt;
    { return (width * height / 2); }&lt;br /&gt;
};&lt;br /&gt;
int main () {&lt;br /&gt;
  CRectangle rect;&lt;br /&gt;
  CTriangle trgl;&lt;br /&gt;
  CPolygon * ppoly1 = &amp;amp;rect;&lt;br /&gt;
  CPolygon * ppoly2 = &amp;amp;trgl;&lt;br /&gt;
  ppoly1-&amp;gt;set_values (4,5);&lt;br /&gt;
  ppoly2-&amp;gt;set_values (4,5);&lt;br /&gt;
  cout &amp;lt;&amp;lt; rect.area() &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; trgl.area() &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use dynamic_cast to convert object pointer to its subclass==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;typeinfo&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class Base{&lt;br /&gt;
public:&lt;br /&gt;
  Base() {};&lt;br /&gt;
  virtual ~Base() {}&lt;br /&gt;
};&lt;br /&gt;
class Derived : public Base{&lt;br /&gt;
public:&lt;br /&gt;
  Derived() {}&lt;br /&gt;
  virtual ~Derived() {}&lt;br /&gt;
};&lt;br /&gt;
int main(int argc, char** argv){&lt;br /&gt;
  Base* b;&lt;br /&gt;
  Derived* d = new Derived();&lt;br /&gt;
  b = d;&lt;br /&gt;
  d = dynamic_cast&amp;lt;Derived*&amp;gt;(b);&lt;br /&gt;
  Base base;&lt;br /&gt;
  Derived derived;&lt;br /&gt;
  Base&amp;amp; br = base;&lt;br /&gt;
  try {&lt;br /&gt;
    Derived&amp;amp; dr = dynamic_cast&amp;lt;Derived&amp;amp;&amp;gt;(br);&lt;br /&gt;
  } catch (bad_cast&amp;amp;) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Bad cast!\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  return (0);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use object pointer to reference virtual method==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class Base {&lt;br /&gt;
 public:&lt;br /&gt;
   virtual void show_message(void) { cout &amp;lt;&amp;lt; &amp;quot;This is the base class\n&amp;quot;; };&lt;br /&gt;
};&lt;br /&gt;
class Derived: public Base &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   virtual void show_message(void) { cout &amp;lt;&amp;lt; &amp;quot;This is the derived class\n&amp;quot; ; };&lt;br /&gt;
};&lt;br /&gt;
int main(void){&lt;br /&gt;
   Base *base_pointer = new Base;&lt;br /&gt;
   base_pointer-&amp;gt;show_message();&lt;br /&gt;
   &lt;br /&gt;
   base_pointer = new Derived;&lt;br /&gt;
   base_pointer-&amp;gt;show_message();&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use &amp;amp; to get object address==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class base &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   virtual void vfunc(void)&lt;br /&gt;
    {&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;This is base&amp;quot;s vfunc().&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
class derived1 : public base &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   void vfunc(void)&lt;br /&gt;
    {&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;This is derived1&amp;quot;s vfunc().&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
class derived2 : public derived1 &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   void vfunc(void)&lt;br /&gt;
   {&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;This is derived2&amp;quot;s vfunc().&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   }&lt;br /&gt;
};&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   base *p, b;&lt;br /&gt;
   derived1 d1;&lt;br /&gt;
   derived2 d2;&lt;br /&gt;
   p = &amp;amp;b;        // Point to base class&lt;br /&gt;
   p-&amp;gt;vfunc();&lt;br /&gt;
   p = &amp;amp;d1;       // Point to first derived class&lt;br /&gt;
   p-&amp;gt;vfunc();&lt;br /&gt;
   p = &amp;amp;d2;       // Point to second derived class&lt;br /&gt;
   p-&amp;gt;vfunc();&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using an array of class objects==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
   using namespace std;&lt;br /&gt;
   class CBox                   &lt;br /&gt;
   {&lt;br /&gt;
      public:&lt;br /&gt;
         CBox(double lv, double bv = 1.0, double hv = 1.0): m_Length(lv),&lt;br /&gt;
                                                            m_Breadth(bv),&lt;br /&gt;
                                                            m_Height(hv)&lt;br /&gt;
         {&lt;br /&gt;
            cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;Constructor called.&amp;quot;;&lt;br /&gt;
         }&lt;br /&gt;
         CBox()                 &lt;br /&gt;
         {&lt;br /&gt;
            cout &amp;lt;&amp;lt; endl&lt;br /&gt;
                 &amp;lt;&amp;lt; &amp;quot;Default constructor called.&amp;quot;;&lt;br /&gt;
            m_Length = m_Breadth = m_Height = 1.0;&lt;br /&gt;
         }&lt;br /&gt;
         // Function to calculate the volume of a box&lt;br /&gt;
         double Volume() const&lt;br /&gt;
         {&lt;br /&gt;
            return m_Length*m_Breadth*m_Height;&lt;br /&gt;
         }&lt;br /&gt;
      private:&lt;br /&gt;
         double m_Length;&lt;br /&gt;
         double m_Breadth;&lt;br /&gt;
         double m_Height; &lt;br /&gt;
   };&lt;br /&gt;
   int main()&lt;br /&gt;
   {&lt;br /&gt;
      CBox boxes[5];      &lt;br /&gt;
      CBox cigar(8.0, 5.0, 1.0);&lt;br /&gt;
      cout &amp;lt;&amp;lt; endl&lt;br /&gt;
           &amp;lt;&amp;lt; &amp;quot;Volume of boxes[3] = &amp;quot; &amp;lt;&amp;lt; boxes[3].Volume()&lt;br /&gt;
           &amp;lt;&amp;lt; endl&lt;br /&gt;
           &amp;lt;&amp;lt; &amp;quot;Volume of cigar = &amp;quot; &amp;lt;&amp;lt; cigar.Volume();&lt;br /&gt;
      cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
      return 0;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>