First, the object as the return value of the function
#include<iostream>
#include"circle.h"
int main()
{
Circle c{
1.0 };
std::cout << c.setRadius(2.0).setRadius(3.0).getArea() << std::endl;
}
The result is shown above.
2. Related.c
#include"circle.h"
Circle::Circle()
{
radius = 1.0;
}
Circle::Circle(double radius_)
{
radius = radius_;
}
double Circle::getArea()
{
return (3.14 * radius * radius);
}
double Circle::getRadius() const
{
return radius;
}
Circle& Circle::setRadius(double radius)
{
this->radius = radius;
return (*this);
}
3. Related.h
#pragma once
class Circle
{
private:
double radius;
public:
Circle();
Circle(double radius_);
double getArea();
public:
double getRadius() const;
Circle& setRadius(double radius);
};