) 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.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

#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 programming practice

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.
Transcribed Image Text: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.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY