title: Need some help clarifying a piece of code which im trying to complete C++
body: <p>Below is the code to a "rhombus.cpp" file which i am to complete. But first i would like to highlight this area " Rhombus::Rhombus(Vertex point, int radius) : Shape(point){".. my question is what exactly occurs here when in the compiler? the : Shape(point) is completely new to me so i am unsure of what to do, especially when i am to call this in the int main. And if what i have placed under the comment of //place your code here and add comments, etc is correct in what ive done? Your help is much appreciated!</p>
  
  <pre><code>#include "rhombus.h"
  
  Rhombus::Rhombus(Vertex point, int radius) : Shape(point){
  // constructs a Rhombus of radius around a point in 2D space
  if((radius&gt;centroid.getX()/2) || (radius&gt;centroid.getX()/2))
  {
      cout &lt;&lt; "Object must fit on screen." &lt;&lt; endl;
      system("pause");
      exit(0);
  }
  // place your code here and add comments that describe your understanding of        what is happening
  this-&gt;radius = radius;
  plotVertices();
  }
  
  int Rhombus::area()
  {
  // returns the area of a Rhombus
  return 0;
  }
  
  int Rhombus::perimeter()
  {
  // returns the perimeter of a Rhombus
  return 0;
  }
  
  void Rhombus::plotVertices()
  {
  // a formula for rotating a point around 0,0 is
  // x' = x * cos(degrees in radians) - y * sin(degrees in radians)
  // y' = y * cos(degrees in radians) + x * sin(degrees in radians)
  // the coordinates for point A are the same as the centroid adjusted for the    radius
  // the coordinates for point B are determined by rotating point A by 90 degrees
  // the coordinates for point C are determined by rotating point A by 180 degrees
  // the coordinates for point C are determined by rotating point A by 270 degrees
  // remember that 0,0 is at the top left, not the bottom left, corner of the console
  
  // place your code here and add comments that describe your understanding of what is happening
  }
  </code></pre>
  
  <p>Rhombus.h</p>
  
  <pre><code>#include "shape.h"
  
  class Rhombus : public Shape
  {
  int radius;
  
  void plotVertices();
  public:
  Rhombus(Vertex point, int radius = 10);
  int area();
  int perimeter();
  };
  </code></pre>
  
  <p>Shape.h </p>
  
  <pre><code>enter #pragma once
  #include "console.h"
  #include "vertex.h"
  #include &lt;iostream&gt;
  #include &lt;list&gt;
  #include &lt;cstdlib&gt;
  #include &lt;cmath&gt;
  using namespace std;
  
  #define PI 3.14159265358979323846
  
  class Shape
  {
  list&lt;Vertex&gt;::iterator itr;
  protected:
  list&lt;Vertex&gt; vertices;
  Vertex centroid;
  void drawLine(int x1, int y1, int x2, int y2);
  Shape(Vertex point);
  double round(double x);
  public:
  void drawShape();
  virtual int area() = 0;
  virtual int perimeter() = 0;
  virtual void outputStatistics();
  void rotate(double degrees);
  void scale(double factor);
  };
  </code></pre>