Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C++ I got 2 errors, line 35 and 36. How to fix it? Make my code work... #include

ID: 3695576 • Letter: C

Question

C++

I got 2 errors, line 35 and 36.

How to fix it? Make my code work...

#include <iostream>
#include <iomanip> // std::setprecision
using namespace std;
class BasicShape //Abstract base class
{
protected:
   double area;
   private:
       string name;
      
public:
virtual void calArea()=0; //Pure Virtual Function
BasicShape(double a, string n):area(a),name(n){}
virtual void print();
string getName()
{
   return name;
}
};

class Circle : public BasicShape {
private:
double radius;
public:
Circle(double a, string n, double r): BasicShape(a,n),radius(r) {}

  
virtual void calArea(){area = 3.14159 * radius * radius;
   }
virtual void print()
   {
      
   cout<<"Radius::"<<radius;
   cout<<"Area::"<<BasicShape::area;
   cout<<"Name::"<<getName();
  
  
       }

};
   void poly()
   {
       BasicShape *pointer;
       pointer->calArea();
       pointer->print();
   }
int main()
   {
  
   Circle c(10,"Round",0);
   poly();
   return 0;
   }

Explanation / Answer

Try This:

#include <iostream>
#include <iomanip> // std::setprecision
using namespace std;
class BasicShape //Abstract base class
{
protected:
   double area;
   private:
       string name;
      
public:
virtual void calArea()=0; //Pure Virtual Function
BasicShape(double a, string n):area(a),name(n){}
virtual void print();
string getName()
{
   return name;
}
};

class Circle :: public BasicShape {
private:
double radius;
public:
Circle(double a, string n, double r): BasicShape(a,n),radius(r) {}

  
virtual void calArea(){area = 3.14159 * radius * radius;
   }
virtual void print()
   {
      
   cout<<"Radius::"<<radius;
   cout<<"Area::"<<BasicShape::area;
   cout<<"Name::"<<getName();
  
  
       }

};
   void poly()
   {
       BasicShape *ptr;
       ptr->calArea();
       ptr->print();
   }
int main(void)
   {
  
   Circle c(10,"Round",0);
   poly();
   return 0;
   }