) Rewrite the Circle Class previously defined in lectures, to overload all ecessary operators (+ , - , ++, <<, >> etc..) :) write a main function to define object of the classes and use the override perators.
#include <iostream>
#include "Class_Circle.h"
using namespace std;
static int x = 5;
void setRaduis(int r){
cout<<"I am a function outside the class "<<r<<endl;
}
int main()
{
Circle c1;
c1.setRaduis(10);
c1.printCircle();
setRaduis(20);
Circle c2;
c2.setRaduis(30);
//if (c1==c2) error
bool equals = c1.isEqual(c2);//c = &c2
if (equals)
cout<<"the circles are equals";
else
cout<<"the circles are not equals";
cout << "Hello world!" << endl;
Circle c3(40);
c3.printCircle();
Circle arrayCircle[5];
int r;
for (int i =0;i<5;i++){
cout<<"enter circle "<<i<<" radius: ";
cin>> r;
arrayCircle[i].setRaduis(r);
}
for(int i = 0;i<5;i++){
cout<<"the circle "<<i<<" info :"<<endl;
arrayCircle[i].printCircle();
}
x = 10;
cout<<"static x =" <<x<<endl;
cout<<"call static func from objct:"<<endl;
c1.printNumberOfObjects();
c3.printNumberOfObjects();
arrayCircle[0].printNumberOfObjects;
cout<<"call static fun from class name:"<<endl;
Circle::printNumberOfObjects();
return 0;
}
code circle.h
#include <iostream>
using namespace std;
class Circle{
private:
int raduis;
static int numberOfObjects;
public:
Circle();
Circle(int);
~Circle(){cout<<"destructor called"<<endl;}
int getRaduis() const { return raduis;}
void setRaduis(int);
void printCircle();
double getArea();
double getPerimeter();
bool isEqual(const Circle& );
void static printNumberOfObjects();
};
int Circle::numberOfObjects = 0;
void Circle::printNumberOfObjects(){
cout<<"number of Circle objects is "<<numberOfObjects<<endl;
}
Circle::Circle(){
cout<<"Default constructor called"<<endl;
// raduis = 0;
setRaduis(0);
numberOfObjects++;
}
Circle::Circle(int r){
//raduis = r; bad
setRaduis(r);
numberOfObjects++;
}
bool Circle::isEqual(const Circle& c){
// c.setRaduis(raduis); exposed problem
// Circle c3 = c; //no problem
if (raduis == c.getRaduis())
return true;
else
return false;
}
double Circle::getPerimeter(){
return 3.14 * 2 * raduis;
}
double Circle::getArea(){
double r = 3.14 * raduis * raduis;
return r;
//return 3.14 * pow(raduis,2);
}
void Circle::setRaduis(int r){
if(r>=0)
raduis = r;
else
raduis = 0;
}
void Circle::printCircle(){
cout<<"I am the function inside the class"<<endl;
cout<<"the radius of the class is "<< raduis<<endl;
}
![Assignment Details:
|(1) Rewrite the Circle Class previously defined in lectures, to overload all
necessary operators (+ , - , ++, <<, >> etc...)
(2) write a main function to define object of the classes and use the override
|operators.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fcb45d0d0-4f17-4ee0-989e-096fb1e7a049%2F8ac67bff-ca07-4752-b521-e07291576071%2Fgfu91e_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)